Fundamentos · #1 de 11
Variables, tipos y E/S
Nombres, conversión de tipos y entrada del usuario
Por qué importa
Cada error que corriges en Python empieza por entender los tipos, los nombres y la entrada/salida.
La idea
Las variables son etiquetas pegadas sobre objetos. Puedes reetiquetar en cualquier momento, pero el objeto sigue siendo el mismo, y el objeto siempre carga su tipo.
Pruébalo
type() es tu depurador más rápido. Cuando los números se comportan como cadenas (o al revés), type() te dice por qué.
age = 25
height = 5.9
name = "Ada"
is_engineer = True
print(age, type(age).__name__)
print(height, type(height).__name__)
print(name, type(name).__name__)
print(is_engineer, type(is_engineer).__name__)
input() SIEMPRE devuelve una cadena. Convierte el tipo antes de hacer cálculos; de lo contrario "2" + "3" == "23".
# input() blocked in Pyodide — pretend the user typed "42"
raw = "42"
print("raw:", raw, type(raw).__name__)
n = int(raw)
print("n*2 =", n * 2)
# What happens if you forget to cast?
try:
print(raw + 1)
except TypeError as e:
print("TypeError:", e)
Verificación rápida
- P: ¿De qué tipo es
input()? R:str - P: ¿Qué pasa con
int("10.5")? R: Da error: conviértelo primero afloat.
Mini ejercicios
- Pide dos números e imprime su suma.
- Convierte centímetros a metros usando la entrada del usuario.
Errores comunes
- Error:
age = input(...)y luegoage + 1. Solución:age = int(input(...)). - Error: Ensombrecer funciones integradas como
list = []. Solución: Usa mejores nombres.
Conclusiones clave
- Las variables apuntan a objetos; el objeto es dueño del tipo.
input()siempre devuelve unstr: convierte conint()/float()antes de hacer cálculos.- Usa
type()para diagnosticar errores misteriosos. - Python tiene tipado dinámico: el mismo nombre puede re-vincularse a un tipo diferente.