Читать книгу El gran libro de Python - Marco Buttu - Страница 41
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 una etiqueta está precedida por el delimitador punto, se dice que está calificada. Por ejemplo, en la expresión sys.platform, decimos que platform es una etiqueta calificada, o también que platform está calificada mediante sys.
Si se desea profundizar en el argumento del análisis lexical del código Python, es aconsejable leer la siguiente página del sitio oficial: http://docs.python.org/3/reference/lexical_analysis.html.