Una variable es un nombre
Una variable en Python es un nombre que pegas a un valor. Escribes el nombre, un signo igual y el valor:
Tres variables, tres valores, tres tipos. Python los aloja juntos sin problema, y no tuviste que decirle nada sobre qué tipo de valores eran. El valor va después del =; el nombre va antes.
Una vez que una variable existe, puedes usarla en cualquier sitio donde usarías el valor en sí:
Los nombres hacen que la penúltima línea se describa a sí misma. Esa es la victoria real con buenos nombres de variable — código que se lee como una explicación.
La asignación no es matemáticas
Una cosa que pilla a la gente que viene de clases de matemáticas: = en Python no significa "igual". Significa "asigna". Quiere decir "coge el valor después del = y pégalo al nombre de antes". Python evalúa el valor primero y luego hace la asignación.
Así que esto es perfectamente legal:
La línea count = count + 1 no está afirmando que count sea igual a count más uno (matemáticamente imposible). Está diciendo: calcula count + 1, luego asigna el resultado de vuelta a count. Python evalúa la expresión primero — 0 + 1, que da 1 — y solo después actualiza la variable.
Escribirás count = count + 1 suficientes veces como para que Python tenga un atajo: count += 1 hace lo mismo.
La reasignación cambia la etiqueta, no el valor
Una variable puede apuntar a un valor distinto cuando quieras. El valor antiguo no se modifica — la variable simplemente empieza a referirse a otra cosa:
Fíjate en esa última línea. mood contiene un string durante dos líneas y luego de repente contiene un entero. Python no se ha quejado. Esto es tipado dinámico — las variables no tienen tipo fijo, solo los valores lo tienen. La flexibilidad ayuda al prototipar y duele cuando una variable cambia de significado dentro de una función sin que te des cuenta. El hábito seguro es elegir un nombre que encaje con lo que el valor representa, y luego mantener la variable representando esa única cosa durante toda su vida.
Las reglas para los nombres de variable
Python acepta nombres que:
- Empiezan con una letra o un guion bajo (
_). - Contienen letras, dígitos y guiones bajos.
- No son una palabra clave reservada (
if,for,class,returny unas cuantas docenas más).
Así que estos son válidos:
Y estos no:
2nd_user— no puede empezar por un dígito.user-name— los guiones no están permitidos (Python los lee como resta).class— palabra clave reservada.user name— nada de espacios en los nombres.
Los nombres distinguen mayúsculas, como ya sabes: total, Total y TOTAL son tres variables distintas. Python no te va a avisar del typo.
Convenciones de nombrado
Más allá de las reglas duras, la comunidad de Python tiene convenciones — no las impone el intérprete, pero son universales en todo el ecosistema:
lower_snake_casepara variables y funciones normales:retry_count,fetch_profile.UPPER_SNAKE_CASEpara constantes:MAX_RETRIES = 5.PascalCasepara nombres de clase (llegaremos a ellas más adelante).- Guion bajo inicial (
_something) sugiere que un nombre está pensado como privado. No se impone — es solo una convención. - Guion bajo final (
class_) te permite usar un nombre que chocaría con una palabra clave.
Si te pegas a estas, tu código se parecerá al Python que ha escrito todo el mundo.
Los nombres deberían describir significado
Un nombre de variable es gratis de escribir pero caro de leer. Gastar un par de caracteres extra en elegir un nombre que realmente describa lo que significa el valor ahorra a los futuros lectores (normalmente tu yo futuro) mucho entornar los ojos.
Compara:
Mismo código, misma respuesta — pero solo la segunda versión te dice qué está pasando. Los nombres cortos (i, n, x) están bien en ámbitos muy pequeños como contadores de bucle, pero fuera de eso, deletrea las cosas.
Asignación múltiple (úsala con moderación)
Python te permite asignar el mismo valor a varias variables en una línea:
O desempaquetar varios valores a la vez:
Ambas están bien cuando hacen el código más claro (como desempaquetar el valor de retorno de una función). La primera forma — = = = encadenado — merece un momento de cuidado: las tres variables terminan refiriéndose al mismo objeto, lo que importa para tipos mutables como listas (más sobre esto después).
Qué te llevas
name = valuecrea una variable.- Las variables no tienen tipo; los valores sí.
- Los nombres siguen unas pocas reglas duras y muchas convenciones blandas — ambas merecen respeto.
- Un nombre descriptivo es la forma más barata de documentación.
Lo siguiente: qué tipos de valores soporta Python realmente — enteros, floats, strings, booleanos, y por qué ayuda saber cuál es cuál.
Preguntas frecuentes
¿Cómo se crea una variable en Python?
Elige un nombre, pon un = después y pon un valor a la derecha. age = 30 crea una variable llamada age con el valor 30. Python averigua el tipo automáticamente — no lo declaras.
¿Cuáles son las reglas para los nombres de variable en Python?
Un nombre puede contener letras, dígitos y guiones bajos, pero no puede empezar por un dígito. No puede ser una palabra clave de Python como if o class. Los nombres distinguen mayúsculas: total, Total y TOTAL son tres variables distintas. La convención de la comunidad es lower_snake_case.
¿Una variable de Python puede cambiar de tipo?
Sí. Python tiene tipado dinámico, así que una variable que contiene un número un momento puede contener un string al siguiente. Esa flexibilidad es cómoda pero te puede sorprender — si el significado de una variable cambia a mitad de una función, suele ser señal de que toca elegir un nombre nuevo.