継承とか
会社でやったときは動かなかったんだけど・・・
>>> class A(object): ... def __init__(self): ... print "class a init" ... >>> class B(A): ... def __init__(self): ... print "class b init" ... super(B, self).__init__(self) ... >>> b = B() class b init Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 4, in __init__ TypeError: __init__() takes exactly 1 argument (2 given)
できるようなこと、書かれているんだけど、できない。
と思ったら、できた。エラーをよく見ろ、ですな。反省...
>>> class A(object): ... def __init__(self): ... print "class a init" ... >>> class B(A): ... def __init__(self): ... print "class b init" ... super(B, self).__init__() ... >>> b = B() class b init class a init
>>> class A(object): ... def __init__(self): ... print "a class" ... def methodA(self): ... print "methodA" ... >>> class B(A): ... def __init__(self): ... print "b class" ... def methodA(self): ... super(B,self).methodA() ... >>> b = B() b class >>> b.methodA() methodA
- 作者: 柴田淳
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/08/22
- メディア: 単行本
- 購入: 11人 クリック: 585回
- この商品を含むブログ (180件) を見る