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

Highest Stable Coin Yields – (W16 – 2024)

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

2 weeks ago

LEDU Token OTC Trading

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

1 month ago

Highest Stable Coin Yields – (W12 – 2024)

It’s another week and like always we have to explore the top yield platforms for…

1 month ago

Binance Auto Invest – the Best Innovation in Crypto since Sliced Bread

At a time where we’re constantly seeking tools and strategies to simplify our crypto investments,…

1 month ago

Highest Stable Coin Yields – March 2024

As we kick off another week, it's time to explore the top yield platforms for…

2 months ago

Education Ecosystem Featured on Business Insider

We're excited to share that Education Ecosystem was recently featured in an article on Business…

2 months ago