タグ

ブックマーク / python-history-jp.blogspot.com (2)

  • The History of Python.jp

    今日は何度も「なぜPythonの整数の割り算はC言語のようにゼロに向けて丸めるのではなく、切り捨てなのか?」と聞かれた。 数値が両方とも正の場合には、何も驚くようなことは発生しない。 >>> 5//2 2 しかし、どちらかの数値が負の場合、結果は切り捨てられる。言い換えると、ゼロから遠い方向(負の無限大方向)に向けて丸められる。 >>> -5//2 -3 >>> 5//-2 -3 この挙動は何人かの人を混乱させたようであるが、このような実装になっているのは数学的な根拠がある。整数の割り算の演算子(//)と、その弟の余りを計算する演算子(%)は、次のような数学的な関係を保っている。すべての変数は整数とする。 a/b = q あまり r これは、次のような関係性を持っている。 b * q + r = a かつ 0 <= r < b (ただし、a, bはともに0以上の整数) もしも、この式の関係

  • 新スタイルクラスの内部の話

    原文:http://python-history.blogspot.com/2010/06/inside-story-on-new-style-classes.html 原文投稿者:Guido van Rossum [注意:この投稿はとても長くて技術的です] 表面上は、新スタイルクラスは、元々のクラスの実装と非常に似通って見えるが、新スタイルクラスでは次のような数々の新しいコンセプトが導入されている。 __new__()という名前の低レベルのコンストラクタ 属性アクセスのカスタマイズを一般的にできるようにするデスクリプタ 静的メソッドとクラスメソッド プロパティ(演算してから結果を返す属性) デコレータ(Python 2.4から導入) スロット 新しいメソッド解決順序(Method Resolution Order, MRO) このエントリーでは、これらのコンセプトについて光を当てていこう

  • 1