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.