Vi que usando pass, continua funcionando perfeitamente, pois é reescrita, mas qual a vantagem de nao deixar a def str(self) vazia?
def __str__(self):
pass
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Vi que usando pass, continua funcionando perfeitamente, pois é reescrita, mas qual a vantagem de nao deixar a def str(self) vazia?
def __str__(self):
pass
Não tenho certeza se entendi sua dúvida. A vantagem de não deixar as __str__ vazia, ou em outras palavras, de implantá-la, é que vc pode imprimir a representação de objetos como você desejar.
class Pessoa:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
pessoa = Pessoa("Joao", 12)
print(pessoa)Retorna uma informação da classe e endereço na memória. Não muito útil na maioria dos casos
class Pessoa:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
def __str__(self):
return f"{self.nome} - {self.idade}"
pessoa = Pessoa("Joao", 12)
print(pessoa)Retorna "Joao - 12"