Como usar python __str__ em seus programas?
Neste tutorial, você aprenderá sobre o método . __str__ ()
em Python e como e quando usá-lo. Serão fornecidos exemplos detalhados, passo a passo, com códigos executáveis para ilustrar o uso do método.
O que é o método .str()?
O método . __str__ ()
é um método especial em Python que retorna uma representação em forma de string de um objeto. Quando você chama a função print()
em um objeto ou usa a função str()
para convertê-lo em uma string, o Python automaticamente chama o método . __str__ ()
do objeto para obter a representação em formato de string.
Em termos simples, o método . __str__ ()
permite que você controle como um objeto é exibido como uma string quando ele é impresso ou convertido explicitamente em uma string.
Exemplo de uso do método .str()
Para entender melhor como usar o método . __str__ ()
, vamos considerar um exemplo de uma classe Carro
:
No exemplo acima, definimos a classe Carro
com um construtor __init__ ()
que recebe a cor e a quilometragem do carro como argumentos. Em seguida, definimos o método .__str__ ()
, que retorna uma string representando o objeto carro.
Agora, podemos criar uma instância da classe Carro
e imprimir o objeto para visualizar a representação em formato de string:
A saída será:
Controlando a representação em formato de string de um objeto
Ao adicionar o método . __str__ ()
a uma classe, você tem controle sobre como o objeto será representado como uma string. Com isso, você pode personalizar a saída para incluir informações específicas do objeto.
Vamos expandir o exemplo anterior para incluir informações adicionais no método . __str__ ()
:
Agora, quando imprimimos a instância meu_carro
, devemos obter a seguinte saída:
A saída será:
Dessa forma, ao implementar o método . __str__ ()
, podemos personalizar a representação em formato de string de um objeto para fornecer informações úteis e legíveis.
O uso do método .str() versus .repr()
É importante destacar a diferença entre os métodos . __str__ ()
e . __repr__ ()
. Enquanto o método . __str__ ()
é destinado a fornecer uma representação em formato de string que é fácil de ler para os seres humanos, o método . __repr__ ()
é destinado a fornecer uma representação em formato de string que é uma representação completa do objeto.
Ao imprimir um objeto ou convertê-lo em uma string, se o método . __str__ ()
estiver presente, o Python usará esse método para obter a representação em formato de string. Caso contrário, o Python tentará o método . __repr__ ()
.
No entanto, é uma boa prática implementar tanto o método . __str__ ()
quanto o método . __repr__ ()
em uma classe, para que você tenha controle total sobre a representação do objeto, tanto para visualização humana quanto para fins de depuração.
Conclusão
O método . __str__ ()
é um método especial em Python que permite controlar como um objeto é exibido como uma string. Ele fornece uma maneira fácil de personalizar a representação em formato de string de um objeto.
Ao implementar o método . __str__ ()
, você pode fornecer informações específicas do objeto e tornar a saída legível e útil. No entanto, é recomendável implementar também o método . __repr__ ()
como uma representação completa do objeto, para fins de depuração.
Ao entender e usar o método . __str__ ()
, você terá um maior controle sobre como seus objetos são representados em formato de string e poderá melhorar a legibilidade e a usabilidade do seu código Python.