Я початківець 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)