Saltar al contenido principal
ByteNova
Programación

¿Qué son las variables en programación?

Publicado por ByteNova · · Actualizado el

En este artículo aprenderás:

Qué es una variable, cómo almacenar y modificar información, cuáles son los tipos de datos más comunes, cómo elegir buenos nombres y cómo funcionan las variables locales y globales.

Casi todos los programas necesitan guardar información temporalmente. Una aplicación puede necesitar recordar el nombre de un usuario, el precio de un producto, una nota o si una sesión está activa. Las variables permiten asociar nombres claros con esos datos para utilizarlos posteriormente.

¿Qué es una variable?

Una variable es un nombre que utilizamos dentro de un programa para hacer referencia a un valor.

Por ejemplo:

edad = 20

Aquí creamos la variable edad y le asignamos el valor 20.

Después podemos utilizarla:

print(edad)

El resultado será:

20
Idea sencilla

En lugar de recordar un dato únicamente por su valor, le damos un nombre que explique qué representa.

¿Para qué sirven las variables?

Las variables permiten almacenar datos que necesitamos utilizar en otras partes del programa.

Por ejemplo:

precio = 15000
cantidad = 3

total = precio * cantidad

print(total)

En este código utilizamos tres variables:

  • precio guarda el precio individual.
  • cantidad guarda la cantidad comprada.
  • total guarda el resultado del cálculo.

Si el precio cambia, solamente necesitamos modificar su valor.

Cómo asignar un valor

En Python utilizamos el operador = para asignar un valor.

nombre = "Ana"
edad = 25
altura = 1.68
activo = True

El lado izquierdo contiene el nombre de la variable y el lado derecho contiene el valor que queremos asociar con ella.

No confundas = con ==

= asigna un valor. == compara dos valores para comprobar si son iguales.

Tipos de datos comunes

Las variables pueden hacer referencia a distintos tipos de información.

Números enteros

edad = 25
cantidad = 10

En Python estos valores pertenecen al tipo int.

Números decimales

altura = 1.68
precio = 14999.50

Los números decimales normalmente utilizan el tipo float.

Texto

nombre = "Ana"
ciudad = "San José"

Las cadenas de texto utilizan el tipo str.

Valores booleanos

activo = True
bloqueado = False

Los booleanos representan dos estados: True o False.

Colecciones

Una variable también puede referirse a una lista:

lenguajes = [
    "Python",
    "JavaScript",
    "Java"
]

Las variables no están limitadas a datos simples. También pueden referirse a objetos y estructuras más complejas.

Cómo saber qué tipo tiene un valor

Python incluye la función type().

edad = 25
nombre = "Ana"
activo = True

print(type(edad))
print(type(nombre))
print(type(activo))

Esto puede ayudarte a comprender qué tipo de valor está utilizando el programa, especialmente durante el aprendizaje o la depuración.

Cambiar el valor de una variable

El valor asociado a una variable puede cambiar.

puntos = 10

print(puntos)

puntos = 15

print(puntos)

El resultado será:

10
15

La segunda asignación reemplaza la referencia anterior.

Actualizar utilizando el valor actual

puntos = 10
puntos = puntos + 5

print(puntos)

El resultado será 15.

Python también permite escribirlo de forma abreviada:

puntos += 5

Python utiliza tipado dinámico

Una misma variable puede referirse a valores de distintos tipos en momentos diferentes.

dato = 10
dato = "Hola"

Python permite hacerlo, pero cambiar de tipo sin una razón clara puede hacer que el código sea más difícil de comprender.

Cómo elegir buenos nombres

Un buen nombre debe explicar qué información representa.

precio_total = 25000
nombre_usuario = "Ana"
cantidad_productos = 4

Estos nombres son mucho más claros que:

x = 25000
a = "Ana"
c = 4

Los nombres cortos pueden tener sentido en contextos muy concretos, pero normalmente debemos priorizar claridad.

snake_case

En Python es habitual utilizar snake_case para nombres de variables:

precio_final = 12000
nombre_completo = "Ana López"

Reglas básicas para nombrar variables

En Python existen algunas reglas importantes.

Puede contener letras, números y guion bajo

usuario1 = "Ana"
precio_total = 5000

No puede comenzar con un número

1usuario = "Ana"

Este nombre no es válido.

No debe utilizar palabras reservadas

Palabras como if, for, while o def forman parte de la sintaxis de Python y no pueden utilizarse como nombres normales de variables.

Python distingue mayúsculas y minúsculas

nombre = "Ana"
Nombre = "Carlos"

Estas son dos variables diferentes.

¿Una variable es una caja en la memoria?

Cuando empezamos a programar suele explicarse una variable como una “caja” donde guardamos un dato. Esa analogía puede ayudar al inicio, pero en Python es más preciso pensar en un nombre que hace referencia a un objeto.

Por ejemplo:

nombre = "Ana"

nombre es el identificador que nos permite acceder al objeto de texto "Ana".

Esta diferencia se vuelve más importante cuando después trabajas con listas y objetos mutables.

Alcance de las variables

El alcance determina desde qué partes del programa podemos utilizar una variable.

Variable local

def saludar():
    mensaje = "Hola"
    print(mensaje)


saludar()

mensaje se crea dentro de la función y normalmente pertenece a ese contexto.

Variable global

sitio = "ByteNova"

def mostrar_sitio():
    print(sitio)


mostrar_sitio()

Aquí sitio fue definida fuera de la función.

Consejo

Evita depender innecesariamente de muchas variables globales. Pasar datos mediante parámetros suele facilitar la comprensión y mantenimiento del código.

Ejemplo práctico: calcular una compra

Veamos cómo varias variables trabajan juntas.

producto = "Teclado"
precio = 15000
cantidad = 2
descuento = 10

subtotal = precio * cantidad
monto_descuento = subtotal * descuento / 100
total = subtotal - monto_descuento

print(f"Producto: {producto}")
print(f"Subtotal: ₡{subtotal}")
print(f"Descuento: ₡{monto_descuento}")
print(f"Total: ₡{total}")

Cada variable tiene una responsabilidad clara.

  • producto identifica qué se está comprando.
  • precio contiene el precio unitario.
  • cantidad indica cuántas unidades.
  • descuento contiene el porcentaje.
  • subtotal guarda el cálculo inicial.
  • total contiene el precio final.

Esta organización hace que el cálculo sea mucho más fácil de leer que si utilizáramos todos los números directamente.

Errores comunes al trabajar con variables

Utilizar una variable antes de crearla

print(total)

total = 100

Cuando se ejecuta el primer print(), la variable todavía no existe.

Confundir asignación con comparación

Recuerda:

edad = 20
edad == 20

La primera línea asigna. La segunda compara.

Usar nombres demasiado parecidos

precio = 100
precios = 200
precio1 = 300

Nombres demasiado similares pueden provocar confusiones si representan conceptos distintos.

Cambiar el tipo sin darte cuenta

edad = 20
edad = "veinte"

Esto es válido en Python, pero una operación posterior que espere un número puede fallar.

Guardar datos sin un propósito claro

Crear variables innecesarias puede hacer que el programa sea más difícil de seguir. Una variable debería representar información que realmente necesitamos utilizar.

Compruébalo tú mismo

Crea variables para guardar:

  • Tu nombre.
  • Tu edad.
  • Una nota.

Después crea una variable llamada aprobo cuyo valor sea el resultado de comprobar si la nota es igual o superior a 70.

Finalmente muestra toda la información.

Intenta resolverlo antes de ver la solución.

Ver una posible solución
nombre = "Ana"
edad = 20
nota = 85

aprobo = nota >= 70

print(f"Nombre: {nombre}")
print(f"Edad: {edad}")
print(f"Nota: {nota}")
print(f"¿Aprobó?: {aprobo}")

La expresión nota >= 70 produce un valor booleano que guardamos dentro de aprobo.

Reto adicional

Cambia la nota varias veces y observa cómo cambia automáticamente el valor de aprobo cuando vuelves a ejecutar el programa.

Preguntas frecuentes

¿Una variable puede cambiar de valor?

Sí. Una variable puede recibir un nuevo valor durante la ejecución del programa.

¿Una variable puede cambiar de tipo en Python?

Sí. Python utiliza tipado dinámico, por lo que una variable puede hacer referencia a valores de distintos tipos en diferentes momentos. Sin embargo, hacerlo sin una razón clara puede dificultar la lectura del código.

¿Cuál es la diferencia entre una variable local y una global?

Una variable local se define dentro de un contexto como una función y normalmente se utiliza allí. Una variable global se define fuera de las funciones y tiene un alcance más amplio.

Cómo elegir buenas variables

Una variable no solamente guarda un valor: su nombre también comunica la intención del programa. Nombres como totalCompra o usuarioActivo suelen explicar mejor el propósito que nombres genéricos como x o dato.

Ejemplo conceptual

Si un programa calcula el promedio de tres notas, puede guardar cada nota y el resultado en variables distintas. Esto permite leer el procedimiento y modificar los valores sin reescribir toda la expresión.

Alcance de una variable

El alcance indica en qué parte del programa puede utilizarse una variable. Las reglas exactas cambian entre lenguajes, pero comprender el concepto ayuda a evitar modificaciones inesperadas y nombres que interfieren entre distintas partes del código.

Constantes y valores que cambian

Algunos lenguajes permiten indicar que una referencia o valor no debería reasignarse. Utilizar esa posibilidad cuando corresponde hace más explícita la intención y puede prevenir cambios accidentales.

Buena práctica

Declara las variables cerca del lugar donde se necesitan, utiliza nombres claros y evita mantener datos duplicados si pueden calcularse de forma sencilla a partir de una fuente confiable.

Conclusión

Las variables permiten dar nombres significativos a los datos que utiliza un programa.

Gracias a ellas podemos almacenar información, reutilizarla, modificarla y combinarla mediante operaciones.

Comprender asignación, tipos de datos, nombres, alcance y reasignación te dará una base esencial para avanzar hacia operadores, condicionales, funciones, bucles y estructuras de datos.

Artículo creado por

ByteNova

Proyecto educativo creado por Dylan Estrada. ByteNova publica contenido sobre programación, desarrollo web, inteligencia artificial y ciberseguridad con un enfoque claro para principiantes y revisión editorial continua.

Conoce más sobre ByteNova →