Esenciales de Conversión de Tipos
La conversión de tipos permite mover valores entre los tipos principales de Python para que puedan ser comparados, calculados o mostrados.
Conversión a int
int(x) crea un entero.
- Desde un int: devuelve el mismo número;
- Desde un float: trunca hacia cero (por ejemplo,
int(2.9)devuelve2,int(-2.9)devuelve-2); - Desde una cadena: la cadena debe representar un entero (los espacios y el signo son opcionales).
Python también permite guiones bajos dentro de los dígitos, como
"1_000", pero solo si: - El guion bajo está entre dígitos;
- No está al principio ni al final (
"_100","100_"); - No se repite ni está junto a un punto decimal (
"1__000","1_.5").
Conversiones 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
Estos generan ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Conversión a float
float(x) crea un número de punto flotante.
- Funciona para enteros y cadenas en notación decimal o científica (
"3.14","1e2","5E-3"); - Las comas no son puntos decimales en Python (
"2,5","2.5"); - Python permite guiones bajos dentro de los dígitos en cadenas numéricas, pero solo si:
- El guion bajo está entre dígitos;
- No está al principio ni al final (
"_3.14","3.14_"); - No está junto al punto decimal ni se repite (
"3_.14","3.__14"); - La notación científica también debe seguir estas reglas (
"1e_3").
Conversiones 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
Estos generan ValueError
1float("2,5") # ValueError - use a dot, not a comma
Conversión a str
str(x) crea una representación de cadena legible para humanos. Se recomienda utilizar f-strings al construir mensajes.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Conversión a bool
bool(x) sigue las reglas de veracidad de Python.
- Números:
0esFalse, cualquier otro número esTrue; - Cadenas:
""(vacía) esFalse, cualquier cadena no vacía esTrue(incluso"0"y"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Errores a evitar
int("2.5")generaValueError- analizar primero comofloat(), luego truncar o redondear;- Hábito local:
"2,5"no es válido - usar"2.5"; - Sorpresa de veracidad:
bool("0")esTrue- comparar el contenido de la cadena explícitamente si es necesario, por ejemplos == "0".
1. ¿Qué llamada genera un ValueError?
2. Elija la afirmación correcta.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
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?
Genial!
Completion tasa mejorada a 3.45
Esenciales de Conversión de Tipos
Desliza para mostrar el menú
La conversión de tipos permite mover valores entre los tipos principales de Python para que puedan ser comparados, calculados o mostrados.
Conversión a int
int(x) crea un entero.
- Desde un int: devuelve el mismo número;
- Desde un float: trunca hacia cero (por ejemplo,
int(2.9)devuelve2,int(-2.9)devuelve-2); - Desde una cadena: la cadena debe representar un entero (los espacios y el signo son opcionales).
Python también permite guiones bajos dentro de los dígitos, como
"1_000", pero solo si: - El guion bajo está entre dígitos;
- No está al principio ni al final (
"_100","100_"); - No se repite ni está junto a un punto decimal (
"1__000","1_.5").
Conversiones 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
Estos generan ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Conversión a float
float(x) crea un número de punto flotante.
- Funciona para enteros y cadenas en notación decimal o científica (
"3.14","1e2","5E-3"); - Las comas no son puntos decimales en Python (
"2,5","2.5"); - Python permite guiones bajos dentro de los dígitos en cadenas numéricas, pero solo si:
- El guion bajo está entre dígitos;
- No está al principio ni al final (
"_3.14","3.14_"); - No está junto al punto decimal ni se repite (
"3_.14","3.__14"); - La notación científica también debe seguir estas reglas (
"1e_3").
Conversiones 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
Estos generan ValueError
1float("2,5") # ValueError - use a dot, not a comma
Conversión a str
str(x) crea una representación de cadena legible para humanos. Se recomienda utilizar f-strings al construir mensajes.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Conversión a bool
bool(x) sigue las reglas de veracidad de Python.
- Números:
0esFalse, cualquier otro número esTrue; - Cadenas:
""(vacía) esFalse, cualquier cadena no vacía esTrue(incluso"0"y"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Errores a evitar
int("2.5")generaValueError- analizar primero comofloat(), luego truncar o redondear;- Hábito local:
"2,5"no es válido - usar"2.5"; - Sorpresa de veracidad:
bool("0")esTrue- comparar el contenido de la cadena explícitamente si es necesario, por ejemplos == "0".
1. ¿Qué llamada genera un ValueError?
2. Elija la afirmación correcta.
¡Gracias por tus comentarios!