デストラクタは__del__
class A: def __init__(self): print "init" def __del__(self): print "del"
クラスを継承し__init__メソッドを定義した場合
明示的にスーパークラスの__init__メソッドを呼び出しさなければ
スーパークラスは初期化されない
class A: def __init__(self): print "A" class B(A): def __init__(self): A.__init__(self) print "B" b = B()
変更不能な型 (int, str, tuple など) を継承した場合
特殊メソッド__new__を定義する
class A(int): def __new__(self, i, j): return int.__new__(self, i + j) a = A(4, 6) print a
詳細はドキュメントで
0 件のコメント:
コメントを投稿