¿Qué son las variables en programación?
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
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:
precioguarda el precio individual.cantidadguarda la cantidad comprada.totalguarda 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.
= 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.
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.
productoidentifica qué se está comprando.preciocontiene el precio unitario.cantidadindica cuántas unidades.descuentocontiene el porcentaje.subtotalguarda el cálculo inicial.totalcontiene 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.
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.
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.
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.
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 →