Nombres de variables¶
A los nombres de variables, funciones y otros elementos se les llama identificadores. Podemos establecer los nombres que nosotros queramos, pero existen algunas reglas que debemos respetar:
-
Los identificadores no pueden incluir espacios, porque obtendríamos dos tokens separados. Lo siguiente es un error:
suma total = 100Es preferible escribir:
sumatotal = 100o bien:
suma_total = 100 -
Los caracteres que forman un identificador pueden incluir dígitos numéricos:
suma_año1 = 1234 suma_año2 = 5678Pero el primer carácter no puede ser un dígito numérico:
suma1 = 0 # ok 1suma = 0 # error -
En el nombre de una variable Python se admite todo tipo de caracteres más allá del alfabeto anglosajón. Por ejemplo, la eñe, las vocales acentuadas o los símbolos matemáticos:
año = 2010 π = 3.14159 Σ = 5 + 4aunque el programa sería más claro si escribimos:
PI = 3.14159 suma = 5 + 4 -
No se admiten los símbolos incluidos en el juego de caracteres básico, a excepción del carácter de subrayado:
! " # % & ' ( ) * + , − . / : ; < = > ? [ \ ] ^ { | } ~Por ejemplo, lo siguiente es un error, ya que el guión representa la operación de resta aritmética
suma-total = 1234 -
Un nombre de variable no puede ser ninguna de las palabras especiales reservadas por el lenguaje Python (keywords) para propósitos especiales. Podemos averiguar cuales son esas palabras ejecutando en la ventana shell de IDLE el siguiente comando:
>>> help("keywords")Lo que muestra algo así como:
Here is a list of the Python keywords: False class from or None continue global pass True def if raise and del import return as elif in try assert else is while async except lambda with await finally nonlocal yield break for not -
Aunque los nombres de funciones como
printno son palabras reservadas, conviene no usarlos para otro propósito, ya que sería una fuente de problemas. Supongamos el siguiente programa:print = 0 print(print)Estamos creando una variable
printque sustituye a la funciónprint(). Al ejecutar la segunda sentencia, el intérprete de Python nos dirá queprint()ha dejado de ser una función, para convertirse en variable, y por lo tanto, no se puede resolver la llamada a la funciónprint().No nos alarmemos. Las variables desaparecen de la memoria RAM al finalizar la ejecución del programa. La palabra
printrecuperará su propósito original. -
Como ya hemos visto, se distingue entre mayúsculas y minúsculas. Lo siguiente son dos variables diferentes (y un pésimo estilo de programación):
x = 0 X = 0
Los nombres de variables con más de una palabra pueden ser difíciles de leer:
importetotal = 100
Hay varias técnicas que podemos utilizar para hacerlas más legibles:
-
Estilo snake_case. Cada palabra está separada por un carácter de subrayado (también conocido como guión bajo):
importe_total = 100 -
Estilo PascalCase, así llamado porque es típico del lenguaje de programación Pascal. Se usan minúsculas y cada palabra comienza con una letra mayúscula:
ImporteTotal = 100 -
Estilo camelCase. Cada palabra, excepto la primera, comienza con una letra mayúscula:
importeTotal = 100