Saya pemula dari python. Saya tidak dapat memahami warisan dan __init__()
.
class Num:
def __init__(self,num):
self.n1 = num
class Num2(Num):
def show(self):
print self.n1
mynumber = Num2(8)
mynumber.show()
HASIL: 8
Ini bagus. Tapi saya ganti Num2
dengan
class Num2(Num):
def __init__(self,num):
self.n2 = num*2
def show(self):
print self.n1,self.n2
HASIL: Error. Num2 has no attribute "n1".
Dalam hal ini, bagaimana cara Num2
mengakses n1
?
__init__
metode dalam kelas turunan, kutipan itu akan diwarisi. Itu karena "jika atribut yang diminta tidak ditemukan di kelas, pencarian dilanjutkan untuk mencari di kelas dasar." (doc)