Existe alguma diferença prática entre usar print ou _ _ str _ _ ? Não entendi bem pq usar o str...
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!
Existe alguma diferença prática entre usar print ou _ _ str _ _ ? Não entendi bem pq usar o str...
Oi Anderson,
Existe diferença sim. O print() é uma função que permite imprimir no console um objeto, seja esse objeto um número, string ou um objeto que vc mesmo criou. O _str_ é um método mágico do python (sim, é sério o nome), vc coloca em uma classe para definir a representação em tela dela.
Olhe esse exemplo:
Aqui eu defini uma classe tst apenas com um atributo 'a' que tem uma string, mas quando eu instanciei 'ob' e tentei dar um print, meu retorno foi o endereço da memória onde esse objeto está armazenado.
Agora na segunda definição de classe, eu adicionei um método _str_ e nele eu defini que a representação em tela do meu objeto é a variável interna 'a'. Então agora toda vez que eu fizer um print nesse objeto, ele vai mostrar o valor da variável 'a' no terminal ao invés do endereço que tinha antes (que é o modo padrão que o python printa objetos).
Nesse exemplo eu coloquei pra printar a variável, mas vc não precisa fazer isso, poderia colocar outros valores, poderia colocar uma frase pronta, depende apenas de quem definir a classe.