ฉันขอทานงูหลาม ฉันไม่เข้าใจเรื่องมรดกและ__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)