Essenciais da Conversão de Tipos
A conversão de tipos permite transitar entre os principais tipos do Python, possibilitando comparar, calcular ou exibir valores. Este capítulo apresenta como converter de forma segura e destaca onde iniciantes frequentemente cometem erros.
Convertendo para int
int(x) cria um inteiro.
- De um int: retorna o mesmo número;
- De um float: trunca em direção a zero (por exemplo,
int(2.9)retorna2,int(-2.9)retorna-2); - De uma string: a string deve representar um inteiro (espaços opcionais e sinal são permitidos).
Conversões válidas
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
Estes geram ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Convertendo para float
float(x) cria um número de ponto flutuante.
- Funciona para inteiros e strings decimais ou em notação científica;
- Vírgulas não são pontos decimais em Python.
Conversões válidas
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Estes geram ValueError
1float("2,5") # ValueError - use a dot, not a comma
Convertendo para str
str(x) cria uma representação em string legível para humanos. Prefira f-strings ao construir mensagens.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Convertendo para bool
bool(x) segue as regras de veracidade do Python.
- Números:
0éFalse, qualquer outro número éTrue; - Strings:
""(vazia) éFalse, qualquer string não vazia éTrue(mesmo"0"e"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Erros a Evitar
int("2.5")geraValueError- usefloat()primeiro, depois trunque ou arredonde;- Hábito de localidade:
"2,5"é inválido - utilize"2.5"; - Underlines em strings de entrada:
"1_000"é inválido - remova os underlines antes:"1_000".replace("_", ""); - Surpresa de veracidade:
bool("0")éTrue- compare explicitamente o conteúdo da string se necessário, por exemplos == "0".
1. O que cada linha produz?
2. Qual chamada gera um ValueError?
3. Selecione a afirmação correta.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain more about how type conversion works in Python?
What are some common errors beginners make with type conversion?
Can you show examples of converting between other types, like lists or dictionaries?
Awesome!
Completion rate improved to 5
Essenciais da Conversão de Tipos
Deslize para mostrar o menu
A conversão de tipos permite transitar entre os principais tipos do Python, possibilitando comparar, calcular ou exibir valores. Este capítulo apresenta como converter de forma segura e destaca onde iniciantes frequentemente cometem erros.
Convertendo para int
int(x) cria um inteiro.
- De um int: retorna o mesmo número;
- De um float: trunca em direção a zero (por exemplo,
int(2.9)retorna2,int(-2.9)retorna-2); - De uma string: a string deve representar um inteiro (espaços opcionais e sinal são permitidos).
Conversões válidas
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
Estes geram ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Convertendo para float
float(x) cria um número de ponto flutuante.
- Funciona para inteiros e strings decimais ou em notação científica;
- Vírgulas não são pontos decimais em Python.
Conversões válidas
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Estes geram ValueError
1float("2,5") # ValueError - use a dot, not a comma
Convertendo para str
str(x) cria uma representação em string legível para humanos. Prefira f-strings ao construir mensagens.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Convertendo para bool
bool(x) segue as regras de veracidade do Python.
- Números:
0éFalse, qualquer outro número éTrue; - Strings:
""(vazia) éFalse, qualquer string não vazia éTrue(mesmo"0"e"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Erros a Evitar
int("2.5")geraValueError- usefloat()primeiro, depois trunque ou arredonde;- Hábito de localidade:
"2,5"é inválido - utilize"2.5"; - Underlines em strings de entrada:
"1_000"é inválido - remova os underlines antes:"1_000".replace("_", ""); - Surpresa de veracidade:
bool("0")éTrue- compare explicitamente o conteúdo da string se necessário, por exemplos == "0".
1. O que cada linha produz?
2. Qual chamada gera um ValueError?
3. Selecione a afirmação correta.
Obrigado pelo seu feedback!