Saltar al contenido
🐍 Curso de Python
/

Módulo 1 · Lección 1 de 59

Variables: guardar datos

Qué es una variable, cómo se crea, cómo se cambia su valor y qué reglas y costumbres seguir al ponerles nombre.

⏱ 10 min de lectura

Para qué sirven#

Un programa sin variables solo puede hacer lo que esté escrito literalmente en el código. Con variables puede guardar un dato, darle un nombre y volver a usarlo tantas veces como haga falta.

python
precio = 19.99
print(precio)
print(precio * 3)
Salida en pantalla
19.99
59.97

Sin la variable tendrías que repetir 19.99 en cada sitio, y el día que cambie el precio tendrías que acordarte de cambiarlo en todos. Con la variable lo cambias en un solo sitio.

Cómo se crea#

Nombre, signo igual, valor. No hay que declarar nada ni decir de qué tipo es:

python
nombre = "Erwin"
edad = 34
altura = 1.78
activo = True

El signo = se llama asignación, y se lee de derecha a izquierda: "calcula lo de la derecha y guárdalo en el nombre de la izquierda".

Cambiar el valor#

Una variable, como su nombre indica, varía. Al asignarle un valor nuevo, el anterior se pierde:

python
contador = 0
print(contador)

contador = 5
print(contador)

contador = contador + 1
print(contador)
Salida en pantalla
0
5
6

La última línea merece atención: primero Python calcula contador + 1, que da 6, y después guarda ese 6 en contador. Es tan frecuente que existe un atajo:

python
contador += 1   # exactamente lo mismo que contador = contador + 1

Los mismos atajos existen para las demás operaciones: -=, *=, /=.

Una variable puede cambiar de tipo#

Python no te ata: la misma variable puede guardar hoy un número y luego un texto.

python
dato = 42
print(dato)

dato = "cuarenta y dos"
print(dato)

Es cómodo, pero no lo hagas a propósito. Una variable que a veces es número y a veces texto es una fuente segura de errores. Si el contenido cambia de naturaleza, usa otro nombre.

Reglas para los nombres#

Estas son obligatorias; si las incumples, el programa no arranca:

  • Solo letras, números y guion bajo.
  • No puede empezar por un número. 1precio es inválido, precio1 es válido.
  • No puede llevar espacios ni guiones normales. precio total y precio-total no funcionan.
  • Distingue mayúsculas: edad, Edad y EDAD son tres variables distintas.
  • No puede ser una palabra reservada del lenguaje, como if, for, class, def, True o import.
python
edad_usuario = 30      # válido
_temporal = "algo"     # válido
precio2 = 9.99         # válido

2precio = 5            # SyntaxError
precio total = 5       # SyntaxError
class = "Primera"      # SyntaxError, class es una palabra reservada

Costumbres para los nombres#

Estas no son obligatorias, pero las sigue todo el mundo y hacen tu código legible:

CostumbreBienMal
Todo en minúsculas, palabras separadas por guion bajoprecio_totalPrecioTotal, preciototal
Que diga qué contieneedad_usuariox, dato, cosa
En singular si es un dato, en plural si son variosalumno, alumnosalumnoLista
En español o en inglés, pero no mezcladototal_precio o total_pricetotal_price_final_es

Varias asignaciones en una línea#

Python permite dos atajos que verás a menudo:

python
x, y = 10, 20            # x vale 10 e y vale 20
a = b = 0                # las dos valen 0
x, y = y, x              # intercambia los valores: x vale 20 e y vale 10

Ese último es un truco muy útil de Python: en otros lenguajes intercambiar dos valores necesita una variable auxiliar.

Errores frecuentes#