Lección 3: Variables y tipos de datos
Imagina que estás desarrollando una app para calcular el salario mensual de un freelancer en México. Necesitas guardar su nombre, su tarifa por hora, cuántas horas trabajó y si ya le pagaron o no. ¿Dónde guardas toda esa información mientras el programa corre? La respuesta son las variables — y en esta lección vas a dominarlas.
¿Qué es una variable?
Una variable es un espacio en la memoria de tu computadora donde puedes guardar un valor para usarlo después. Piensa en ella como una caja con una etiqueta: la etiqueta es el nombre de la variable y lo que metes dentro es su valor.
En Python, crear una variable es tan simple como escribir su nombre, un signo de igual y el valor que quieres asignarle:
nombre = "Ana Torres"
Listo. Python ya sabe que cuando menciones nombre, se refiere a "Ana Torres". No necesitas declarar el tipo de dato de antemano como en otros lenguajes — Python lo detecta automáticamente. Eso lo hace especialmente amigable para quien está empezando.
Los tipos de datos fundamentales
Python maneja varios tipos de datos, pero los cuatro que vas a usar todo el tiempo son: strings, integers, floats y booleans.
Strings (cadenas de texto)
Un string es cualquier secuencia de caracteres entre comillas. Puede ser un nombre, una dirección, una descripción o incluso un número que no vas a usar para cálculos (como un código postal o un número telefónico).
ciudad = "Ciudad de México"
puesto = 'Desarrolladora Frontend'
codigo_postal = "06600" # aunque son números, acá son texto
Puedes usar comillas simples o dobles — Python acepta ambas. Lo importante es que abras y cierres con el mismo tipo.
Integers (enteros)
Un integer es un número entero, sin decimales. Se usa para contar cosas: horas trabajadas, número de proyectos, años de experiencia.
horas_trabajadas = 160
anios_experiencia = 3
proyectos_activos = 7
No lleva comillas ni punto decimal. Simple y directo.
Floats (números decimales)
Un float es un número con punto decimal. En el contexto del mercado laboral, lo usarás constantemente para salarios, tarifas y precios. En México, por ejemplo, si una startup de CDMX paga $18,500.50 MXN al mes o un cliente remoto paga $25.75 USD por hora, esos valores son floats.
tarifa_por_hora = 25.75 # en USD, trabajo remoto
salario_mensual = 18500.50 # en MXN
impuesto_isr = 0.16 # 16% como decimal
Nota que Python usa punto (.) como separador decimal, no coma — aunque en México escribamos "18,500.50", en el código va sin la coma de miles.
Booleans (booleanos)
Un boolean solo puede tener dos valores: True o False. Son fundamentales para controlar el flujo de tu programa — para tomar decisiones. ¿Ya se pagó la factura? ¿El usuario está activo? ¿El contrato está firmado?
factura_pagada = True
usuario_activo = False
contrato_firmado = True
Importante: True y False van con mayúscula inicial. Si escribes true o false en minúsculas, Python no los reconoce como booleanos y marcará un error.
Conoce el tipo de tus variables con type()
Python incluye una función llamada type() que te dice de qué tipo es cualquier variable o valor. Es muy útil cuando estás depurando tu código o explorando datos que no conoces bien.
nombre = "Sofía Mendoza"
edad = 28
tarifa = 350.00 # pesos por hora
activo = True
print(type(nombre)) # <class 'str'>
print(type(edad)) # <class 'int'>
print(type(tarifa)) # <class 'float'>
print(type(activo)) # <class 'bool'>
Cuando ves <class 'str'>, Python te está diciendo que esa variable es de tipo string. Lo mismo para int, float y bool. Guarda esta función en tu memoria — la vas a usar muchísimo.
Convenciones para nombrar variables
Nombrar variables puede parecer un detalle menor, pero en el mundo real es una habilidad que los equipos de desarrollo valoran mucho. Un código bien nombrado se explica solo.
Python tiene reglas que debes seguir y convenciones que deberías seguir.
Las reglas obligatorias son estas: el nombre solo puede contener letras, números y guiones bajos (_); no puede empezar con un número; y no puede ser una palabra reservada de Python (como if, for, True, print, etc.).
# ✅ Nombres válidos y claros
nombre_cliente = "Rodrigo Vega"
tarifa_hora_usd = 45.00
proyectos_completados = 12
es_freelancer = True
# ❌ Nombres inválidos — estos causarán error
# 1proyecto = "error" → empieza con número
# nombre-cliente = "error" → guion medio no permitido
# True = "error" → palabra reservada
La convención estándar en Python se llama snake_case: todas las palabras en minúsculas, separadas por guion bajo. Así es como lo hace la comunidad Python a nivel global, y así lo vas a ver en la mayoría de proyectos de startups en LATAM, desde Rappi hasta Konfío.
Evita nombres genéricos como x, datos, cosa o temp — a menos que sea una variable muy temporal en un cálculo corto. Si alguien más (o tú en tres meses) lee tu código, tiene que entender qué significa cada variable sin adivinar.
Ejemplo práctico: perfil de un desarrollador freelancer
Vamos a juntar todo lo que aprendiste en un ejemplo realista. Imagina que construyes un sistema básico para registrar el perfil de un desarrollador freelancer en México:
# Perfil de un desarrollador freelancer en México
nombre = "Diego Ramírez"
ciudad = "Guadalajara"
especialidad = "Desarrollo Backend"
anios_experiencia = 4
# Tarifas de trabajo
tarifa_hora_mxn = 420.00 # pesos mexicanos por hora
tarifa_hora_usd = 22.50 # dólares para clientes extranjeros
horas_mes = 160 # jornada mensual estándar
# Estado actual
disponible = True
contrato_activo = False
# Revisamos tipos de algunas variables
print(type(nombre)) # <class 'str'>
print(type(tarifa_hora_usd)) # <class 'float'>
print(type(disponible)) # <class 'bool'>
Este código no solo guarda datos — cuenta una historia. Al leerlo sabes exactamente qué representa cada valor, en qué moneda está cada tarifa y cuál es el estado actual del freelancer. Eso es escribir código limpio desde el primer día.
Un detalle que suele confundir: strings con números
Mira este ejemplo y piensa qué resultado esperas:
edad = "28"
tarifa = "450.00"
Estos se ven como números, pero son strings porque están entre comillas. Si intentaras hacer una operación matemática con ellos, Python te daría un error. Esta confusión es muy común al principio, especialmente cuando los datos vienen de formularios o archivos de texto. Siempre verifica el tipo de tu variable con type() si algo no se comporta como esperas.
Buenas prácticas que te van a distinguir
Cuando trabajas en equipo — y en el mercado tech mexicano los equipos remotos son cada vez más comunes — la calidad de tu código importa tanto como que funcione. Algunas prácticas que deberías adoptar desde ahora son las siguientes: usa nombres descriptivos en snake_case, no mezcles idiomas innecesariamente dentro de un mismo proyecto, y deja comentarios breves cuando el propósito de una variable no sea obvio. Un ingeniero senior en una empresa como Clip, Bitso o Kueski puede revisar tu código en un pull request — un buen nombrado de variables es la primera impresión que das.
Lo que viene a continuación
En la próxima lección, Operadores y expresiones, vas a aprender a hacer que tus variables interactúen entre sí. Descubrirás cómo sumar, restar, multiplicar y dividir valores numéricos; cómo combinar strings; y cómo usar operadores de comparación para tomar decisiones básicas en tu programa. Con lo que ya sabes de variables y tipos de datos, la siguiente lección va a encajar perfectamente — porque los operadores son exactamente la herramienta que necesitas para darles vida a los datos que acabas de aprender a guardar.