Variables y Tipos de Datos en Python
🗺️ Mapa de la Lección
⏱ 45 minutos🟢 Principiante🎯 Qué aprenderás
- Crear y usar variables en Python
- Entender los tipos de datos básicos (str, int, float, bool)
- Convertir entre tipos usando int(), float(), str(), bool()
- Usar f-strings para formateo de texto
- Realizar operaciones matemáticas básicas
🌍 Para qué te sirve
- Formularios web: capturar nombre, email, edad del usuario
- Cálculos financieros: precios, descuentos, totales, impuestos
- Sistemas de autenticación: validar credenciales (usuario, contraseña)
- Análisis de datos: procesar números, promedios, estadísticas
- APIs y servicios: enviar y recibir datos estructurados
- Aplicaciones móviles: guardar preferencias del usuario, configuraciones
🎯 ¿Por qué aprender variables y tipos?
Las variables y tipos de datos son la base de todo programa Python. Sin ellas, no podrías guardar información, hacer cálculos, o crear programas útiles. Es como intentar cocinar sin ingredientes: necesitas recipientes (variables) para organizar tus ingredientes (valores).
Aprender esto primero te permitirá:
- Guardar y reutilizar información en tus programas
- Entender cómo Python maneja diferentes tipos de datos
- Evitar errores comunes relacionados con tipos
- Escribir código más claro y expresivo
🌍 Casos reales donde se usa
Las variables y tipos de datos están en absolutamente todo. Los verás en:
- Formularios web: Capturar nombre, email, edad del usuario
- Cálculos financieros: Precios, descuentos, totales, impuestos
- Sistemas de autenticación: Validar credenciales (usuario, contraseña)
- Análisis de datos: Procesar números, promedios, estadísticas
- APIs y servicios: Enviar y recibir datos estructurados
- Aplicaciones móviles: Guardar preferencias del usuario, configuraciones
Ejemplo real: Cuando compras algo online, el sistema guarda tu nombre (string), el precio del producto (float), la cantidad (int), y si el pago fue exitoso (bool).
💡 Concepto base
Las variables son como etiquetas que pones a valores para poder usarlos después. Piensa en una variable como una caja con un nombre donde guardas algo.
Lo genial de Python: No necesitas decirle qué tipo de dato vas a guardar. Python lo descubre automáticamente cuando le asignas un valor.
# Python ve "Ana" y dice: "Ah, es texto (string)"
nombre = "Ana"
# Python ve 25 y dice: "Ah, es un número entero (int)"
edad = 25
# Python ve True y dice: "Ah, es un booleano (bool)"
es_activo = True
print(f"{nombre} tiene {edad} años. Activo: {es_activo}")
Ana tiene 25 años. Activo: True
Imagina que estás preparando chilaquiles al pastor. Las variables son como los recipientes donde guardas cada ingrediente: tortillas = "fritas", salsa = "roja", queso = "fresco", pastor = "marinado". Cada variable tiene un nombre claro que describe qué contiene, igual que etiquetas en una cocina profesional. Cuando necesitas un ingrediente, simplemente usas su nombre (variable) en lugar de buscar en toda la cocina.
¿Por qué importa esto? En otros lenguajes tienes que declarar string nombre = "Ana" o int edad = 25. En Python, simplemente asignas y ya. Más simple, menos errores de sintaxis. Python es "dinámicamente tipado": el tipo se determina automáticamente cuando asignas el valor.
Si esto te suena raro, es normal. Quédate con la idea: "una variable es una caja con un nombre donde guardas algo". El tipo de dato (texto, número, etc.) Python lo descubre solo.
Paso a paso
1. Strings (str) - Texto
Los strings son secuencias de caracteres. En Python puedes usar comillas simples o dobles (ambas funcionan igual):
# Crear una variable de texto
nombre = "Ana García"
frase = '¡Hola mundo!'
# Para texto de múltiples líneas, usa triple comilla
multilinea = """Esta es una
frase de múltiples líneas"""
Operaciones comunes con strings:
nombre = "Ana García"
# Convertir a mayúsculas
print(nombre.upper()) # ANA GARCÍA
# Convertir a minúsculas
print(nombre.lower()) # ana garcía
# Obtener la longitud (número de caracteres)
print(len(nombre)) # 10 (incluye el espacio)
¿Cuándo usar cada tipo de comilla?
- Comillas simples o dobles: para texto normal
- Triple comilla: para texto largo, documentación, o cuando necesitas saltos de línea
- En la práctica: usa la que prefieras, pero sé consistente en tu proyecto
2. Números Enteros (int)
Los enteros son números sin decimales. Pueden ser positivos, negativos o cero:
# Números sin decimales
edad = 25
año = 2024
temperatura = -5 # También pueden ser negativos
cero = 0
Operaciones matemáticas básicas:
edad = 25
# Suma
suma = edad + 5 # 30
# Multiplicación
multiplicacion = edad * 2 # 50
# División (cuidado: devuelve float)
division = edad / 5 # 5.0 (aunque sea exacto, devuelve float)
# División entera (solo la parte entera)
division_entera = edad // 3 # 8 (ignora el decimal)
# Módulo (resto de la división)
resto = edad % 7 # 4 (25 dividido entre 7 = 3, resto 4)
¿Cuándo usar cada operación?
+,-,*: Operaciones normales/: División normal (siempre devuelve float)//: División entera (útil para contar grupos completos)%: Módulo (útil para saber si un número es par/impar:numero % 2 == 0)
3. Números Flotantes (float)
# Números con decimales
promedio = 8.5
pi = 3.14159
precio = 19.99
# Operaciones matemáticas
resultado = promedio * 2
4. Booleanos (bool)
# Valores de verdad
es_estudiante = True
tiene_trabajo = False
es_mayor = edad >= 18
# Operaciones lógicas
resultado = es_estudiante and tiene_trabajo
5. Conversión de Tipos
# Convertir entre tipos
numero_texto = "123"
numero = int(numero_texto) # 123
decimal_texto = "3.14"
decimal = float(decimal_texto) # 3.14
verdadero_texto = "True"
booleano = bool(verdadero_texto) # True
6. F-strings (Formateo de Strings)
# Formateo moderno con f-strings
nombre = "Carlos"
edad = 30
promedio = 9.5
# Formato básico
mensaje = f"Hola, soy {nombre} y tengo {edad} años"
# Formato con decimales
calificacion = f"Mi promedio es {promedio:.2f}"
# Formato con operaciones
resultado = f"En 5 años tendré {edad + 5} años"
F-strings (introducidos en Python 3.6) son la forma más moderna y eficiente de formatear strings. Son más legibles y más rápidas que .format() o %.
Ejemplo Práctico: Perfil de Usuario
# Crear un perfil completo de usuario
nombre = "Maria Lopez"
edad = 28
ocupacion = "Desarrolladora"
promedio = 9.2
esta_empleada = True
commits_hoy = 5
# Mostrar información
print(f"=== Perfil de {nombre} ===")
print(f"Edad: {edad} años")
print(f"Ocupación: {ocupacion}")
print(f"Promedio: {promedio}")
print(f"¿Está empleada? {esta_empleada}")
print(f"Commits de hoy: {commits_hoy}")
# Calcular contribuciones semanales estimadas
contribuciones_semana = commits_hoy * 5
print(f"Contribuciones estimadas esta semana: {contribuciones_semana}")
=== Perfil de Maria Lopez ===
Edad: 28 años
Ocupación: Desarrolladora
Promedio: 9.2
¿Está empleada? True
Commits de hoy: 5
Contribuciones estimadas esta semana: 25
Errores comunes
1. Confundir = con ==
# ❌ Error común
if edad = 18: # Error de sintaxis
print("Eres mayor de edad")
# ✅ Correcto
if edad == 18:
print("Eres mayor de edad")
Confundir = (asignación) con == (comparación): = asigna un valor, == compara dos valores. Este es uno de los errores más comunes en principiantes.
2. Concatenar strings y números
# ❌ Error común
edad = 20
mensaje = "Tengo " + edad + " años" # Error
# ✅ Correcto
mensaje = f"Tengo {edad} años"
# o
mensaje = "Tengo " + str(edad) + " años"
Intentar concatenar strings y números directamente: Python no puede sumar texto y números. Usa f-strings o convierte el número a string con str().
Buenas Prácticas
Nombres de Variables
# ✅ Buenos nombres
nombre_usuario = "Juan"
edad_usuario = 25
es_activo = True
# ❌ Nombres confusos
n = "Juan"
e = 25
x = True
Constantes
# Constantes en mayúsculas
PI = 3.14159
MAX_INTENTOS = 3
MENSAJE_BIENVENIDA = "¡Bienvenido al sistema!"
Ejercicios Prácticos
Ejercicio 1: Calculadora de Edad
Pide al usuario su año de nacimiento y calcula su edad:
año_nacimiento = int(input("¿En qué año naciste? "))
año_actual = 2024
edad = año_actual - año_nacimiento
print(f"Tienes {edad} años")
Ejercicio 2: Conversor de Temperatura
Convierte de Celsius a Fahrenheit:
celsius = float(input("Temperatura en Celsius: "))
fahrenheit = (celsius * 9/5) + 32
print(f"{celsius}°C = {fahrenheit}°F")
Checkpoint
Si llegaste aquí, ya puedes...
- ✅ Puedes crear variables y asignarles valores
- ✅ Conoces los tipos básicos: str, int, float, bool
- ✅ Sabes convertir entre tipos usando int(), float(), str()
- ✅ Puedes usar f-strings para formatear texto
- ✅ Entiendes las operaciones matemáticas básicas
- ✅ Estás listo para usar variables en condicionales
Recursos Adicionales
Documentación Oficial
- Documentación oficial de Python - Tipos de datos
- Tutorial de Python - Variables
- PEP 8 - Guía de estilo para Python
- PEP 484 - Type Hints - Introducción a anotaciones de tipo
Bibliografía Recomendada
- Python Tricks (Dan Bader) - Capítulo sobre tipos de datos y variables
- Effective Python (Brett Slatkin) - Item 1: Know Which Version of Python You're Using
- Fluent Python (Luciano Ramalho) - Capítulo 1: The Python Data Model
- Automate the Boring Stuff (Al Sweigart) - Capítulo 1: Python Basics
- Python Cookbook, 3rd Ed (Beazley & Jones) - Recetas sobre tipos de datos
Conceptos Relacionados
- Condicionales y Lógica - Usa variables en decisiones
- Type Hints - Anotaciones de tipo avanzadas