Uncategorized

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:

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:

dicas livecoding.tv Python programação Aaryn

 Vivaeddicas livecoding.tv Python programação

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

Avatar
About author

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.