No es posible cambiar el significado de una palabra clave, puesto que Python no entendería más vuestro código. Por esta razón las palabras clave no pueden aparecer a la izquierda del símbolo =:
Las palabras clave pertenecen a dos categorías, distintas según si su inicial es mayúscula o minúscula. Pertenecen a la primera categoría las palabras clave False, True y None. Estas son palabras clave especiales, puesto que, cuando el programa se está ejecutando, Python les asocia un objeto en memoria. Por ejemplo, a False le corresponde un objeto interpretado como el número cero, mientras que a True, un objeto interpretado como el número uno:
El resto de palabras clave no tienen ningún objeto asociado. Son simples palabras que deben ser usadas en el código siguiendo las normas de sintaxis del lenguaje, y no las podemos utilizar igual que el código al cual se ha asociado un objeto. Por ejemplo, no podemos obtener el tipo de palabra clave and, como con False, True y None:
Delimitadores
Los delimitadores son secuencias de uno, dos e incluso tres caracteres, que se utilizan para delimitar o separar fragmentos de código. Ya hemos encontrado algunos, como el signo dos puntos, utilizado para iniciar un bloque de código:
Otros conocidos delimitadores son:
• el signo igual, utilizado para la asignación:
• el punto, utilizado para acceder a un atributo:
• la coma y el punto y coma:
El resto de delimitadores los veremos cuando vayamos a utilizarlos en los ejemplos.
Las etiquetas
Todo lo que forma parte del código Python y no cabe en las precedentes categorías es una etiqueta. En el código siguiente, por ejemplo, aparece el literal entero 99, los delimitadores () y el texto print, que no es ni una palabra clave, ni un comentario, ni un signo de puntuación:
Por lo tanto, es una etiqueta. La carácterística de las etiquetas es que deben ser definidas antes de poder ser utilizadas, porque cuando el código se está ejecutando, Python les hace corresponder el objeto que se les ha asignado anteriormente. De hecho, si intentamos utilizar una etiqueta que no ha sido definida, Python genera un error:
Tened en cuenta que Python ha ejecutado la instrucción print(99) aunque no hayamos definido ninguna etiqueta print. Esta, de hecho, es una etiqueta ya definida por el lenguaje, a la cual se ha asignado un objeto del tipo builtin_function_or_method:
Para conocer las etiquetas de todos los objetos integrados podemos controlar los atributos del módulo builtins, de los cuales omitimos una parte por brevedad:
La principal diferencia entre las etiquetas, los literales y las palabras clave es que solo las etiquetas pueden aparecer a la izquierda del signo igual:
Las etiquetas que se pueden utilizar en un programa Python son, por tanto, las integradas más todos los identificadores a los cuales ha sido asignado un objeto, tanto en modo explícito mediante una instrucción de asignación como en modo implícito.
NOTA
Se habla de asignaciones implícitas cuando a una etiqueta se asigna un objeto sin utilizar explícitamente el signo igual. Por ejemplo, cuando llamamos a una función, los argumentos se asignan implícitamente a los parámetros:
Han sido ejecutadas implícitamente las asignaciones a = 1 y b = 2. Lo mismo ocurre cuando se importa un módulo:
La instrucción import procede a cargar en memoria el módulo y a asignarlo a la etiqueta math.
Probablemente ya hayamos oído decir que una diferencia fundamental entre Python 2 y Python 3, y una causa de incompatibilidad, es el modo en que se utiliza el identificador print. De hecho, en Python 2 print es una palabra clave y, por tanto, no puede ser asignada. :
mientras que en Python 3 es una simple etiqueta a la cual podemos asignar un objeto:
NOTA
Para descubrir los motivos por los cuales se ha decidido convertir print en una etiqueta, podemos consultar la PEP-3105, titulada Make print a function.
Otra diferencia entre etiquetas y palabras clave de Python 2 y Python 3 tiene que ver con True y False. Estas, de hecho, son palabras clave en Python 3, mientras que en Python 2 son simples etiquetas:
No podemos utilizar cualquier identificador para definir las etiquetas, sino que debemos seguir las normas. Sabemos, por ejemplo, que una etiqueta no puede corresponder a una palabra clave:
Además de este vínculo, las etiquetas no pueden contener operadores ni delimitadores:
no pueden empezar con números:
y son evaluadas por Python en modo case-sensitive:
En cuanto a las convenciones, es posible consultar la PEP-0008.
Cuando