O seguinte código só funciona no python2?
class A:
def __init__(self, nome):
self.nome = nome
class B(A):
def metodo_de_b(self):
return '*' + super(B, self).nome
O seguinte código só funciona no python2?
class A:
def __init__(self, nome):
self.nome = nome
class B(A):
def metodo_de_b(self):
return '*' + super(B, self).nome
Ainda estou tentando a adaptação para Python3 nesse código, mas estou com o seguinte erro:
AttributeError: 'super' object has no attribute 'nome'
Segue o código atual abaixo
class A:
def __init__(self, nome):
self.nome = nome
class B(A):
def __init__(self,nome):
super().__init__(nome)
def metodo_de_b(self):
return '*' + super(B, self).nome # vai dar problema, inverteu a ordem dos parâmetros
Após uma consulta em fórums online descobri:
class A:
def __init__(self, nome):
self.nome = nome
class B(A):
def __init__(self,nome):
super().__init__(nome)
def metodo_de_b(self):
return '*' + self.nome
Parece funcionar no Python3.