PythonAprende PythonDocumentación

Variables y tipos de datos

Guarda valores con nombres: int, float, str, bool y None.

Una variable es una caja con nombre donde guardas un valor. En Python creas una variable simplemente asignándole algo con el operador =:

nombre = "Ana"
edad = 25
altura = 1.68
es_estudiante = True

Aquí no declaraste tipos: Python los detectó solo. A esto se le llama tipado dinámico.

Los tipos fundamentales

entero = 42            # int   → números sin decimales
decimal = 3.14         # float → números con decimales
texto = "hola"         # str   → cadenas de caracteres
bandera = True         # bool  → True o False
nada = None            # None  → ausencia de valor

Puedes inspeccionar el tipo de cualquier valor con type():

print(type(42))        # <class 'int'>
print(type(3.14))      # <class 'float'>
print(type("hola"))    # <class 'str'>
print(type(True))      # <class 'bool'>

Nombres de variables

Las reglas son estrictas:

mi_edad = 25       # Correcto: snake_case con guiones bajos
_edad = 25         # Correcto: puede empezar con guion bajo
edad2 = 25         # Correcto: puede terminar con número

2edad = 25         # ERROR: no puede empezar con número
mi-edad = 25       # ERROR: el guion medio es resta
mi edad = 25       # ERROR: no puede tener espacios

La convención de la comunidad es snake_case: minúsculas con guiones bajos entre palabras.

Conversión de tipos (casting)

A veces necesitas convertir un tipo en otro:

numero_texto = "25"
numero = int(numero_texto)      # "25" → 25
print(numero + 5)               # 30

edad = 25
mensaje = "Tengo " + str(edad)  # 25 → "25"
print(mensaje)                  # Tengo 25

Si intentas unir texto y número directamente, Python lanza un error:

"Tengo " + 25        # TypeError: ¡no puedes sumar str + int!

La trampa de la división

Un detalle importante: el operador / siempre devuelve un float, aunque la división sea exacta:

resultado = 10 / 2
print(resultado)     # 5.0  ← float, no 5
print(type(resultado))  # <class 'float'>

Errores comunes

# Usar una variable antes de crearla
print(edad)      # NameError: la variable aún no existe
edad = 25

# Diferenciar mayúsculas: Python distingue entre ellas
edad = 25
print(Edad)      # NameError: "Edad" no es lo mismo que "edad"

Resumen

  • Las variables se crean con nombre = valor, sin declarar tipo
  • Tipos base: int, float, str, bool, None
  • Nombres en snake_case, sin números al inicio ni caracteres especiales
  • Convierte con int(), float(), str(), bool()
  • La división / siempre devuelve float

Quiz

  1. 1. ¿Qué devuelve type(3.14)?

  2. 2. ¿Cuál de estos nombres de variable es válido en Python?

  3. 3. ¿Qué tipo devuelve la expresión 10 / 2?

Ejercicios

Ejercicio 1: Crea tus variables

Crea una variable `nombre` con tu nombre (un string) y una variable `edad` con un número entero. El validador comprueba los tipos.

Cargando editor…

Ejercicio 2: Concatenar y convertir

Dadas `edad = 25` y `ciudad = "Bogotá"`, imprime: Tengo 25 años y vivo en Bogotá. Necesitarás `str()` para unir el número con texto.

Cargando editor…