1
resposta

[Dúvida] Diferença entre print e _ _ str _ _

Existe alguma diferença prática entre usar print ou _ _ str _ _ ? Não entendi bem pq usar o str...

1 resposta

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:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software