Una variable es un nombre que guarda un valor en memoria. En Python no hace falta declarar el tipo — simplemente asignas un valor y Python lo deduce automáticamente.
nombre = "Ana"
edad = 25
altura = 1.68
es_estudiante = True
Reglas para nombrar variables:
_).Edad ≠ edad.if, for, while, etc.).snake_case para nombres de variables.| Tipo | Ejemplo | Descripción |
|---|---|---|
int |
42, -10 |
Números enteros |
float |
3.14, -0.5 |
Números decimales |
str |
"Hola", 'a' |
Cadenas de texto |
bool |
True, False |
Valores lógicos (booleano) |
None |
None |
Ausencia de valor |
Puedes saber el tipo de cualquier variable con type():
print(type(42)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("Hola")) # <class 'str'>
print(type(True)) # <class 'bool'>
suma = 10 + 3 # 13
resta = 10 - 3 # 7
multiplic = 10 * 3 # 30
division = 10 / 3 # 3.333... (siempre float)
div_entera = 10 // 3 # 3 (división entera)
modulo = 10 % 3 # 1 (resto de la división)
potencia = 10 ** 3 # 1000 (10 elevado a 3)
a = 10
b = 5
print(a == b) # False (igualdad)
print(a != b) # True (distinto)
print(a > b) # True (mayor que)
print(a < b) # False (menor que)
print(a >= b) # True (mayor o igual)
print(a <= b) # False (menor o igual)
print(True and False) # False
print(True or False) # True
print(not True) # False
# Ejemplo práctico
edad = 20
tiene_carnet = True
print(edad >= 18 and tiene_carnet) # True
A menudo necesitarás convertir un tipo a otro, especialmente cuando usas input():
# input siempre devuelve str
edad_texto = input("¿Cuántos años tienes? ")
# Convertir str a int
edad = int(edad_texto)
# Convertir str a float
altura = float(input("¿Cuánto mides? "))
# Convertir número a str
mensaje = "Tienes " + str(edad) + " años"
# Conversiones útiles
print(int(3.9)) # 3 (trunca, no redondea)
print(float(5)) # 5.0
print(bool(1)) # True
print(bool(0)) # False
print(bool("")) # False
print(bool("x")) # True
Los f-strings son la forma más moderna y cómoda de incrustar variables en texto. Se definen con una f antes de las comillas:
nombre = "Carlos"
edad = 30
# Sin f-string (incómodo)
print("Me llamo " + nombre + " y tengo " + str(edad) + " años.")
# Con f-string (limpio y legible)
print(f"Me llamo {nombre} y tengo {edad} años.")
# También puedes incluir expresiones
print(f"{nombre} tendrá {edad + 5} años dentro de 5 años.")
# Formatear decimales
precio = 19.9545
print(f"Precio: {precio:.2f} €") # Precio: 19.95 €
# Calculadora de propina
print("=== CALCULADORA DE PROPINA ===\n")
cuenta = float(input("Total de la cuenta (€): "))
porcentaje = int(input("Porcentaje de propina: "))
propina = cuenta * porcentaje / 100
total = cuenta + propina
print(f"\nPropina ({porcentaje}%): {propina:.2f} €")
print(f"Total a pagar: {total:.2f} €")
int() o float() para convertir
la entrada del usuario. Y los f-strings (f"...{variable}...") son tus mejores aliados
para formatear texto de forma limpia.
int, float, str, bool, None.+ - * / // % **), comparación, lógicos.int()/float()/str() para convertir entre tipos.f"Valor: {x}".