私はPythonの初心者です。相続がわからないと__init__()
。
class Num:
def __init__(self,num):
self.n1 = num
class Num2(Num):
def show(self):
print self.n1
mynumber = Num2(8)
mynumber.show()
結果: 8
これで結構です。しかし、私は交換するNum2
と
class Num2(Num):
def __init__(self,num):
self.n2 = num*2
def show(self):
print self.n1,self.n2
結果: Error. Num2 has no attribute "n1".
この場合、どのようにNum2
アクセスできますn1
か?
__init__
派生クラスでメソッドを定義しないと、メソッドが継承される理由を説明するには、引用だけでは不十分です。これは、「要求された属性がクラスで見つからない場合、検索は基本クラスの検索に進む」ためです。(doc)