Saltar al contenido principal

Variables y tipos de datos en Python con ejemplos

Conceptos sobre variables y tipos de datos en Python

Aprende qué son las variables y tipos de datos en Python, cómo declararlas, qué tipos existen y cómo evitar errores comunes al trabajar con ellas.

¿Qué es realmente una variable?

Imagina que estás en una mudanza. Tienes muchas cajas. Para no volverte loco, pegas una etiqueta en una caja que dice "Libros" y metes tus libros dentro.

En Python, la caja es un espacio en la memoria RAM de tu computadora, la etiqueta es el nombre de la variable y el contenido es el dato.

Regla de Oro: En Python, las variables no "guardan" los datos como cajas físicas, sino que "apuntan" a ellos como flechas. A esto se le llama referencia.

Declaración y Asignación

A diferencia de lenguajes como Java o C++, en Python no necesitas decir "voy a guardar un número". Python es dinámico: él mira el dato y deduce qué es.

Python
# Así de simple se crea una variable
nombre_usuario = "Gabriel"
edad = 28
estatura = 1.75
es_desarrollador = True

Reglas de Etiquetado (Naming)

No puedes llamar a tus variables de cualquier forma. Python tiene reglas y convenciones:

  • Permitido: Letras, números y guiones bajos _.

  • Prohibido: Empezar con números o usar espacios.

  • Case Sensitive: puntuacion y Puntuacion son dos variables distintas.

El estilo Snake Case 🐍

En Python, por convención (PEP 8), usamos snake_case (palabras en minúscula separadas por guiones bajos).

ultimo_inicio_sesion

ultimoInicioSesion (Esto es CamelCase, se usa en JavaScript).

Nombres prohibidos (palabras reservadas)

Python tiene palabras que no puedes usar como nombres de variable porque ya tienen un significado especial. Algunas de ellas son:

False, True, None, and, or, not, if, else, elif, for, while, break, continue, def, return, import, from, class, try, except, finally, with, as, pass, raise, in, is, lambda.

Python
# ❌ Error: 'if' es una palabra reservada
if = 10

# ✅ Correcto: usamos un nombre válido
condicion_if = 10
Logo DivZone de ad link
Plataforma IAConvierte el código en clientes.Pruébalo gratis

Tipos de Datos Primitivos

Para ser un experto, debes conocer los 4 tipos básicos que verás el 90% del tiempo:

TipoNombreEjemploUso
Stringstr"Hola"Texto, mensajes, IDs.
Integerint42Números enteros (sin decimales).
Floatfloat3.14Números con decimales (precisión).
BooleanboolTrueValores lógicos (Verdadero/Falso).

El tipo NoneType

Python tiene un tipo especial llamado None que representa la ausencia de valor. Es diferente de 0, "" (cadena vacía) o False. Se usa para indicar que una variable aún no tiene un valor definido.

Python
resultado = None  # Aún no sabemos el resultado
# Más adelante...
resultado = 42 # Ahora sí tiene un valor

El "Tipado Dinámico" y sus Riesgos

Python te permite cambiar el tipo de una variable sobre la marcha. Esto es muy flexible pero peligroso en proyectos grandes.

Python
puntos = 10      # Es un int
puntos = "Diez" # ¡Ahora es un str! Python no se queja.

Consejo Pro: Para evitar confusiones en cursos avanzados, usamos Type Hints (Sugerencias de tipo):

Python
# Le decimos a otros devs que 'edad' debería ser un entero
edad: int = 25
nombre: str = "Ana"

Operaciones con Variables

Las variables no solo están ahí para verse bonitas; interactúan entre sí.

Python
precio_producto = 100
impuesto = 0.21

precio_final = precio_producto * (1 + impuesto)
print(f"El total a pagar es: ${precio_final}")

La función type()

Python incluye una función útil llamada type() que te dice el tipo de cualquier variable. Es ideal para depurar y entender qué tipo de dato estás manejando.

Python
nombre = "Ana"
edad = 25
estatura = 1.75

print(type(nombre)) # <class 'str'>
print(type(edad)) # <class 'int'>
print(type(estatura)) # <class 'float'>

Manipulación de Strings (Cadenas)

Python
nombre = "Gabriel"
apellido = "Maza"

# La forma moderna: f-strings
nombre_completo = f"{nombre} {apellido}"
print(nombre_completo.upper()) # Resultado: GABRIEL MAZA

# También puedes multiplicar strings
separador = "-" * 20
print(separador) # --------------------

Conversión entre tipos (casting)

A veces necesitas convertir un tipo de dato a otro. Python ofrece funciones para esto:

Python
# Convertir string a número
edad_texto = "25"
edad_numero = int(edad_texto)
print(edad_numero + 5) # 30

# Convertir número a string
puntaje = 95
mensaje = "Tu puntaje es: " + str(puntaje)
print(mensaje) # Tu puntaje es: 95

# Convertir a float
precio = "19.99"
precio_float = float(precio)
print(precio_float + 0.01) # 20.0

Errores Comunes (Para no frustrarse)

  1. NameError: Intentar usar una variable que no has creado todavía.
Python
print(puntos_totales)  # Error: name 'puntos_totales' is not defined
  1. TypeError: Intentar sumar cosas que no pegan.
Python
edad = 25
texto = "Mi edad es " + edad # Error: No puedes sumar texto y números directamente

# ✅ Correcto: convertir a string
texto = "Mi edad es " + str(edad)

Tabla resumen de tipos de datos

TipoNombre en Python¿Mutable?Ejemplos
strStringNo"Hola", 'Python', "123"
intEnteroNo42, -5, 1000000
floatDecimalNo3.14, -0.5, 1.0
boolBooleanoNoTrue, False
NoneTypeNuloNoNone

Reto práctico: "Calculadora de propinas"

Escribe un programa que calcule cuánto debe pagar cada persona en una cena compartida.

Variables de prueba:

Python
total_cuenta = 450.00
num_personas = 4
porcentaje_propina = 15 # 15%

# Tu lógica aquí
# propina = ...
# total_con_propina = ...
# total_por_persona = ...

Pista: Primero calcula la propina como porcentaje del total, luego suma la propina al total, y finalmente divide entre el número de personas.

tip

Para calcular el porcentaje, multiplica el total por el porcentaje dividido entre 100: propina = total_cuenta * (porcentaje_propina / 100).

Recursos

¿Listo para continuar? Ahora que sabes cómo almacenar datos, aprende a manipularlos con operadores en Python.

¿Quieres practicar con ejercicios interactivos? Usa DivZone AI para crear y probar tus propios ejercicios.