Soy un principiante de Python. No puedo entender la herencia y __init__()
.
class Num:
def __init__(self,num):
self.n1 = num
class Num2(Num):
def show(self):
print self.n1
mynumber = Num2(8)
mynumber.show()
RESULTADO: 8
Esto esta bien. Pero reemplazo Num2
con
class Num2(Num):
def __init__(self,num):
self.n2 = num*2
def show(self):
print self.n1,self.n2
RESULTADO: Error. Num2 has no attribute "n1".
En este caso, ¿cómo puedo Num2
acceder n1
?
__init__
método en una clase derivada, se hereda. Es porque "si un atributo solicitado no se encuentra en la clase, la búsqueda procede a buscar en la clase base". (doc)