Essenciais da Conversão de Tipos
A conversão de tipos permite transitar entre os principais tipos do Python, possibilitando que valores sejam comparados, calculados ou exibidos.
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 e sinal opcionais são permitidos).
O Python também permite sublinhados entre dígitos, como
"1_000"— mas somente se: - O sublinhado estiver entre dígitos;
- Não estiver no início ou no final (
"_100","100_"); - Não for repetido ou adjacente a um ponto decimal (
"1__000","1_.5").
Conversões válidas
1234567age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15 print(int("1_00_0")) # 1000
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 (
"3.14","1e2","5E-3"); - Vírgulas não são pontos decimais em Python (
"2,5","2.5"); - Python permite sublinhados dentro dos dígitos em strings numéricas, mas apenas se:
- O sublinhado estiver entre dígitos;
- Não estiver no início ou no final (
"_3.14","3.14_"); - Não estiver adjacente ao ponto decimal ou repetido (
"3_.14","3.__14"); - A notação científica também deve seguir essas regras (
"1e_3").
Conversões válidas
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
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 Comuns a Evitar
int("2.5")geraValueError- analisar comofloat()primeiro, depois truncar ou arredondar;- Hábito de localidade:
"2,5"é inválido - use"2.5"; - Surpresa de veracidade:
bool("0")éTrue- compare o conteúdo da string explicitamente se necessário, por exemplos == "0".
1. Qual chamada gera um ValueError?
2. 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 underscores work in numeric strings?
What happens if I try to convert a string with spaces or special characters to int or float?
Can you show examples of converting between these types in more complex scenarios?
Incrível!
Completion taxa melhorada para 3.45
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 que valores sejam comparados, calculados ou exibidos.
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 e sinal opcionais são permitidos).
O Python também permite sublinhados entre dígitos, como
"1_000"— mas somente se: - O sublinhado estiver entre dígitos;
- Não estiver no início ou no final (
"_100","100_"); - Não for repetido ou adjacente a um ponto decimal (
"1__000","1_.5").
Conversões válidas
1234567age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15 print(int("1_00_0")) # 1000
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 (
"3.14","1e2","5E-3"); - Vírgulas não são pontos decimais em Python (
"2,5","2.5"); - Python permite sublinhados dentro dos dígitos em strings numéricas, mas apenas se:
- O sublinhado estiver entre dígitos;
- Não estiver no início ou no final (
"_3.14","3.14_"); - Não estiver adjacente ao ponto decimal ou repetido (
"3_.14","3.__14"); - A notação científica também deve seguir essas regras (
"1e_3").
Conversões válidas
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
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 Comuns a Evitar
int("2.5")geraValueError- analisar comofloat()primeiro, depois truncar ou arredondar;- Hábito de localidade:
"2,5"é inválido - use"2.5"; - Surpresa de veracidade:
bool("0")éTrue- compare o conteúdo da string explicitamente se necessário, por exemplos == "0".
1. Qual chamada gera um ValueError?
2. Selecione a afirmação correta.
Obrigado pelo seu feedback!