저는 파이썬을 좋아합니다. 상속 및 __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)