Variables y tipos de datos fundamentales

Lectura
25 min~6 min lectura
CONCEPTO CLAVE: Las variables son espacios de memoria con nombre que almacenan valores. En Python, cada variable tiene un tipo de datos asociado (número, texto, booleano) que determina qué operaciones puedes realizar con ella. Python es un lenguaje de tipado dinámico, lo que significa que no necesitas declarar el tipo de una variable explícitamente.

¿Qué es una Variable?

Una variable es como una caja etiquetada donde puedes guardar información. Cada caja tiene un nombre único (identificador) que usas para acceder a lo que hay dentro. En Python, crear una variable es tan simple como asignarle un valor usando el signo =.

# Así se crea una variable en Python
nombre = "María"
edad = 25
altura = 1.65
es_estudiante = True

print(nombre)    # Output: María
print(edad)      # Output: 25
💡 Consejo: Elige nombres de variables descriptivos. edad es mejor que e, y total_ventas es mejor que tv. Tu código será más fácil de leer y mantener.

Reglas para Nombres de Variables

En Python, los nombres de variables deben seguir estas reglas:

  • Solo pueden contener letras, números y guiones bajos (_)
  • No pueden comenzar con un número
  • No pueden ser palabras reservadas del lenguaje (como if, for, class)
  • Son sensibles a mayúsculas y minúsculas (Nombre y nombre son diferentes)
⚠️ Error común: Usar espacios en nombres de variables. En Python esto genera un error de sintaxis. En su lugar, usa guiones bajos: mi_variable o escritura camelCase: miVariable.
Nombre válido¿Por qué?
nombreSolo letras, válido
edad_usuarioGuiones bajos permitidos
contador2Letras seguidas de número, válido
2contador❌ Comienza con número
mi-variable❌ Guiones medios no permitidos

Tipos de Datos Fundamentales

Python tiene varios tipos de datos básicos que usarás constantemente. Comprenderlos es esencial para escribir código efectivo.

1. Números Enteros (int)

Los enteros son números sin parte decimal. Se usan para contar, indexar, o cualquier operación matemática con números completos.

cantidad = 42
temperatura = -5
poblacion_mundial = 8000000000

print(type(cantidad))  # Output: 

2. Números Decimales (float)

Los floats representan números con parte decimal. Son ideales para mediciones, precios, o cualquier valor que requiera precisión decimal.

precio = 19.99
pi = 3.14159
altura = 1.75

print(type(precio))  # Output: 
📌 Nota: En Python, se usa el punto (.) como separador decimal, no la coma. Esto es importante si estás acostumbrado a la notación latinoamericana o europea.

3. Cadenas de Texto (str)

Las cadenas de texto (strings) son secuencias de caracteres. Se definen usando comillas simples ('') o dobles ("").

nombre = "Python"
lenguaje = 'Python'
frase = "El zen de Python dice: 'Simple es mejor que complejo'"

print(len(nombre))  # Output: 6 (longitud de la cadena)
Ver más: Operaciones con strings
# Concatenar strings
saludo = "Hola, " + "mundo!"
print(saludo)  # Output: Hola, mundo!

# Repetir strings
risas = "ja" * 3
print(risas)  # Output: jajaja

# Convertir número a string
edad_str = str(25)
print("Tengo " + edad_str + " años")  # Output: Tengo 25 años

4. Booleanos (bool)

Los booleanos representan valores de verdad: True (verdadero) o False (falso). Son fundamentales para la toma de decisiones en tu código.

es_mayor_de_edad = True
tiene_licencia = False

print(type(es_mayor_de_edad))  # Output: 
💡 Importante: En Python, los valores booleanos deben escribirse con la primera letra en mayúscula: True y False. Escribir true generará un error.

Verificar el Tipo de una Variable

Puedes usar la función type() para saber qué tipo de dato contiene una variable. Esto es útil para depurar o entender el código de otros.

x = 42
y = "42"
z = 42.0

print(type(x))  # 
print(type(y))  # 
print(type(z))  # 

# Aunque 42 y 42.0 representan "el mismo" número,
# son tipos diferentes
print(x == z)    # True (tienen el mismo valor)
print(x is z)    # False (son tipos diferentes)

Conversión entre Tipos

A menudo necesitarás convertir datos de un tipo a otro. Python proporciona funciones integradas para esto.

  1. Convertir a entero: Usa int() - elimina la parte decimal de un float, o convierte un string numérico
  2. Convertir a float: Usa float() - añade parte decimal a un entero, o convierte un string
  3. Convertir a string: Usa str() - convierte cualquier tipo a texto
  4. Convertir a booleano: Usa bool() - casi todo se convierte en True, excepto valores "vacíos"
# Ejemplos de conversión
edad_usuario = "25"
print(type(edad_usuario))  # str

edad_numero = int(edad_usuario)
print(type(edad_numero))    # int
print(edad_numero + 10)     # 35

# Float a entero (se pierde la precisión decimal)
precio = 19.99
precio_entero = int(precio)
print(precio_entero)  # 19 (se redondea hacia abajo)

# A bool
print(bool(1))        # True
print(bool(0))        # False
print(bool(""))       # False (string vacío)
print(bool("hola"))   # True
⚠️ Precaución: No puedes convertir cualquier string a número. int("hola") generará un error ValueError. Siempre verifica que el string contenga un número válido antes de convertirlo.

Asignación Múltiple

Python permite asignar valores a múltiples variables en una sola línea, lo que hace el código más limpio en ciertos casos.

# Asignación tradicional
x = 1
y = 2
z = 3

# Asignación múltiple
x, y, z = 1, 2, 3

# Intercambiar valores (swap)
a, b = 5, 10
a, b = b, a  # Ahora a=10 y b=5
print(f"a = {a}, b = {b}")

Constantes en Python

Python no tiene una forma nativa de crear constantes verdaderas (inmutables), pero por convención, las constantes se escriben en MAYÚSCULAS para indicar que no deben modificarse.

# Por convención, las constantes se escriben en mayúsculas
PI = 3.14159
VELOCIDAD_LUZ = 299792458  # metros por segundo

# Aunque técnicamente puedes modificarlo,
# otros programadores sabrán que no deben hacerlo
# PI = 3  # ¡No hagas esto!
"Los nombres de las constantes deben estar en MAYÚSCULAS_CON_GUIONES_BAJOS, y los nombres de las variables deben estar en minúsculas_con_guiones_bajos." — PEP 8 (Guía de estilo de Python)

Ejemplo Práctico Completo

Veamos cómo aplicar todo lo aprendido en un programa simple que calcula el área de un rectángulo:

# Programa: Cálculo de área de un rectángulo

# Variables con los datos del rectángulo
base = 5.5      # float
altura = 3.0    # float

# Cálculo del área
area = base * altura

# Mostrar resultados
print("=" * 30)
print("  CÁLCULO DEL ÁREA")
print("=" * 30)
print(f"Base: {base} unidades")
print(f"Altura: {altura} unidades")
print(f"Área: {area} unidades cuadradas")
print("=" * 30)

# Verificar tipos
print(f"Tipo de 'base': {type(base)}")
print(f"Tipo de 'area': {type(area)}")
🧠 Quiz

¿Cuál es el resultado de ejecutar el siguiente código?

x = "10"
y = 5
print(x + y)

  • A) "105" (concatenación)
  • B) 15 (suma numérica)
  • C) Error de tipo
  • D) "15"
Respuesta: C) Error de tipo. No puedes sumar directamente un string ("10") con un entero (5). Primero debes convertir x a número: print(int(x) + y) mostraría 15.
📌 Resumen: Las variables en Python son esenciales para almacenar y manipular datos. Los tipos fundamentales (int, float, str, bool) cubren la mayoría de necesidades básicas. Recuerda: Python es dinámico, así que no necesitas declarar tipos, pero siempre puedes verificarlos con type() y convertirlos según necesites.

Próximos Pasos

Ahora que dominas las variables y tipos de datos, estás listo para aprender sobre operadores y control de flujo (condicionales y ciclos). Estos te permitirán tomar decisiones y repetir acciones en tu código.

Ver más: Preparación para el siguiente tema

En la próxima lección aprenderás:

  • Operadores aritméticos, de comparación y lógicos
  • La estructura if/elif/else para decisiones
  • Los bucles for y while para repetición
  • Cómo combinar variables, tipos y control de flujo

💡 Sugerencia: Practica creando variables de diferentes tipos y experimenta con conversiones antes de continuar. La familiaridad con los tipos de datos hará que los temas siguientes sean mucho más fáciles.