Saltar a contenido

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 = 100
    

    Es preferible escribir:

    sumatotal = 100
    

    o bien:

    suma_total = 100
    
  • Los caracteres que forman un identificador pueden incluir dígitos numéricos:

    suma_año1 = 1234
    suma_año2 = 5678
    

    Pero 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 + 4
    

    aunque 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 print no 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 print que sustituye a la función print(). Al ejecutar la segunda sentencia, el intérprete de Python nos dirá que print() ha dejado de ser una función, para convertirse en variable, y por lo tanto, no se puede resolver la llamada a la función print().

    No nos alarmemos. Las variables desaparecen de la memoria RAM al finalizar la ejecución del programa. La palabra print recuperará 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