Python – Como transformar um Int numa String

No começo dessa série, vimos como transformar uma String num Int ou Float no Python. Agora, desejamos o contrário. Como fazer?

Dentro do Python existem duas formas de transformar um valor qualquer numa string: as funções repr() e str().

Definições das funções str() e repr() no Python

A função str() é utilizada para criar representações de valor que as pessoas consigam entender. Já a função repr() é utilizada para criar valores que o interpretador do Python possa utilizar.

A maior parte dos valores, como inteiros, estruturas de listas e dicionários acabam tendo a mesma representação quando se utiliza qualquer uma das funções. Já Floats e Strings são representados de formas diferentes entre as funções.

A única diferença entre as duas funções é a forma que elas apresentam os valores? Na verdade, não. Vamos observar a questão um pouco mais a fundo.

Principais diferenças entre str() e repr()

Da documentação oficial do Python, sabemos que repr() e str() são usadas para “representar” um objeto.  A str() é considerada uma representação “informal”. A função repr() seria a representação “formal”.

Abaixo mostramos alguns exemplos em que podem ser observadas algumas destas diferenças:

s = 'Hello, world.'
str(s)
'Hello, world.'
repr(s)
"'Hello, world.'"
str(1.0/7.0)
'0.142857142857'
repr(1.0/7.0)
'0.14285714285714285'

Esta diferença entre os valores retornados nos exemplos acima pode ser evidenciada dentro do sistema que o retorno padrão da função repr() para um objeto pode ser chamada como um argumento dentro da função eval() e seu retorno seria um objeto válido. Podemos observar isto no exemplo abaixo:

1 >>> y = ‘a string’
2

3

4

5

6

>>> repr(y)

“‘a string'”

>>> y2 = eval(repr(y))

>>> y == y2

True

Já o retorno da função str() não se mostra válido. Exemplo abaixo:

1 >>> y = ‘a string’
2

3

4

5

6

7

8

9

10

>>> str(y)

‘a string’

>>> eval(str(y))

Traceback (most recent call last):

  File “<stdin>”, line 1, in <module>

  File “<string>”, line 1

    a string

           ^

SyntaxError: unexpected EOF while parsing

Portanto, a representação “formal” do objeto pode ser chamado pela função eval(), e deve retornar o mesmo objeto, se for o caso.

Para que usar a representação informal str() no Python?

Ela apresenta uma resposta mais resumida do valor do objeto. Com objetos complexos, com vários argumentos, por exemplo, a função repr() retorna um valor difícil de ser analisado. Caso estejamos procurando somente uma “visão rápida”, o melhor a utilizar é a função str().

Use a área de comentários abaixo para compartilhar outras dicas ou dúvidas sobre este assunto! Caso deseje navegar mais em outros assuntos, você, pode conferir nossa galeria de vídeos sobre Python. Abaixo estão alguns exemplos:

Você também pode se inscrever em alguns canais que fazem broadcast em Python, como os a seguir:

 Aaryn

 Vivaed

Outra maneira interessante de descobrir mais coisas interessantes sobre Python é acessar nossa página de projetos

Dr. Michael J. Garbade

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.

Recent Posts

Blockchain in Elections: A Leap Toward Transparent Democracy

In 2024 we're witnessing a critical point in democratic technology: the integration of blockchain and…

3 weeks ago

Win Big with Our Amazon Fire Max 11 & AirPods Pro Giveaway!

We’re thrilled to announce an exciting opportunity for you to win not one but two…

2 months ago

Unleashing Potential: How Education Ecosystem Transforms Learning into Real-World Success

Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…

4 months ago

The Role of Artificial Intelligence in Modern Software Development

Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…

7 months ago

Highest Stable Coin Yields – (W16 – 2024)

Another week to bring you the top yield platforms for three of the most prominent…

8 months ago

LEDU Token OTC Trading

If you hold a large volume of LEDU tokens above 1 million units and wish…

9 months ago