Palabras clave o reservadas de Python: cuáles son?

Publicado el jueves, 17 de agosto del 2023

Las palabras clave o palabras reservadas (keywords) de Python son un conjunto de palabras en idioma Inglés que tienen un significado especial para el lenguaje. Estas palabras constituyen la base de la sintaxis de Python.

Por esta razón, es importante que las conozcas y sepas su rol en el lenguaje. Con ellas, podrás escribir diferentes tipos de sentencias que, en su conjunto, conformarán tus programas y aplicaciones Python.

En este tutorial, aprenderás:

  • Qué son las palabras clave o reservadas?
  • Cuáles son las palabras clave de Python?
  • Cómo obtener ayuda sobre las palabras clave de Python?

Con estos conocimientos, mejorarás tu comprensión del lenguaje y estarás mejor preparado para enfrentar el aprendizaje del mismo.

Qué son las palabras clave o reservadas en Python?

Python cuenta con lo que se conoce como palabras clave o palabras reservadas (keywords). Se trata de un conjunto reducido de palabras, en idioma Inglés, que tienen un significado especial en el lenguaje y que forman parte de su sintaxis.

Tal y como refiere la documentación oficial de Python en Español:

[Las palabras clave] Deben escribirse exactamente como están escritas aquí: (Fuente)

Cuando la documentación dice que deben escribirse de esta forma, esto incluye el detalle de las mayúsculas, como en los casos de None, False y True. Sí, Python discrimina entre mayúsculas y minúsculas, de modo que las variantes True y true no son equivalentes.

Cualquier error de escritura en una palabra clave provoca una excepción del tipo NameError. Este comportamiento se debe a que como la palabra está mal escrita, Python asume que se trata de un identificador o nombre y al no encontrar el nombre, levanta la excepción.

Con esta breve introducción al concepto de palabras clave, estás listo para conocer cúales son las palabras clave de Python.

Cuáles son las palabras clave de Python?

Dependiendo de la versión, Python tiene un conjunto de palabras clave o reservadas que ronda las 30 palabras. Estas palabras constituyen el núcleo de las sintaxis del lenguaje. Para conocer o consultar cuáles son estas palabras, puedes abrir una sesión interactiva de Python y ejecutar el siguiente código:

>>> # Python 3.11
>>> from keyword import kwlist

>>> kwlist
[
    'False',
    'None',
    'True',
    'and',
    'as',
    'assert',
    'async',
    'await',
    'break',
    'class',
    'continue',
    'def',
    'del',
    'elif',
    'else',
    'except',
    'finally',
    'for',
    'from',
    'global',
    'if',
    'import',
    'in',
    'is',
    'lambda',
    'nonlocal',
    'not',
    'or',
    'pass',
    'raise',
    'return',
    'try',
    'while',
    'with',
    'yield'
]

>>> len(kwlist)
35

El módulo keyword de la biblioteca estándar exporta una lista denominada kwlist que contiene todas las palabras clave de Python. En el código anterior, primeramente importas kwlist desde keyword y luego muestras su contenido. En Python 3.11, obtienes 35 palabras clave, tal y como resulta de ejecutar len(kwlist) en la última línea de código del ejemplo.

Debes tener en cuenta que el número de palabras clave varia en dependencia de la versión de Python que estés usando actualmente.

Otra manera de consultar las palabras clave de Python es mediante la función help(). Se trata de una función incluida (built-in) que te permite consultar la documentación y obtener ayuda rápida sobre cualquier objeto en Python.

Para consultar las palabras clave de Python por esta vía, primeramente ejecuta help() para entrar al sistema de ayuda integrado de Python. Luego consulta el contenido de la página de palabras clave usando el comando keywords como en el ejemplo siguiente:

>>> help()

Welcome to Python 3.11's help utility!

...

help> keywords

Here is a list of the Python keywords.  Enter any keyword to get more help.

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

En este caso, cuando ejecutas help() en una sesión interactiva de Python, entras inmediatamente al sistema de ayuda integrado del lenguaje. El indicador (prompt) help> te hace saber que estás dentro. Una vez allí, tecleas el comando keywords y presionas Enter. Esta acción te devuelve el listado de palabras clave de tu versión específica del lenguaje.

Es importante que domines las palabras clave o reservadas de Python, y sobre todo que conozcas su significado en Español. A continuación, un resumen que incluye la traducción al español y una breve descripción de cada palabra clave:

Palabra clave Traducción Descripción
False Falso Representa el valor booleano falso
None Ninguno Representa un objeto nulo
True Verdadero Representa el valor booleano verdadero
and y Operador lógico AND
as como Permite crear aliases de módulos, clases o funciones
assert afirmar Verifica si una expresión es verdadera y lanza un error si es falsa
async Asíncrono Define una función o estructura asíncrona
await esperar Espera a que se complete una función o estructure asíncrona
break romper Sale de un bucle for o while
class clase Define una clase
continue continuar Salta a la siguiente iteración en un bucle
def definir Define una función
del borrar Elimina nombres, elementos de listas, claves de diccionarios
elif entonces si Cláusula else if para una sentencia if
else entonces Cláusula else para una sentencia if
except excepto Captura y maneja excepciones en un bloque try
finally finalmente Se ejecuta siempre en un bloque try, independientemente de si se produjo una excepción o no
for para Inicia un bucle for
from desde Importa objetos específicos desde un módulo
global global Indica que una variable se define en el ámbito global
if si Inicia una sentencia condicional
import importar Importa un módulo o elementos específicos de un módulo
in en Verifica si un valor se encuentra en una lista, diccionario o cualquier objeto iterable
is es Compara si dos objetos son el mismo objeto
lambda lambda Crea una función anónima
nonlocal no local Indica que una variable se encuentra en el ámbito externo a una función
not no Operador lógico NOT
or o Operador lógico OR
pass pasar Es una sentencia que no hace nada

Concer las palabras reservadas de Python te facilitará la comprensión y la escritura de código. Recuerda que este conjunto de palabras es el núcleo de toda la sintaxis del lenguaje.

Cómo obtengo ayuda sobre palabras clave específicas?

En determinadas situaciones, sobre todo cuando estás comenzando con Python, necesitarás consultar rápidamente el objetivo de determinada palabra clave. En esos casos, puedes auxiliarte de help() nuevamente.

Una vez que entras al sistema de ayuda integrado usando help(), puedes introducir la palabra clave que deseas consultar y presionar Enter. De inmediato te aparecerá en pantalla la documentación de la palabra en cuestión.

Por ejemplo, si introduces if y presionas Enter, entonces el sistema de ayuda entrará directamente a la página que documenta esta sentencia y mostrará la salida siguiente:

The "if" statement
******************

The "if" statement is used for conditional execution:

   if_stmt ::= "if" assignment_expression ":" suite
               ("elif" assignment_expression ":" suite)*
               ["else" ":" suite]

It selects exactly one of the suites by evaluating the expressions one
by one until one is found to be true (see section Boolean operations
for the definition of true and false); then that suite is executed
(and no other part of the "if" statement is executed or evaluated).
If all expressions are false, the suite of the "else" clause, if
present, is executed.

Related help topics: TRUTHVALUE

Si introduces una palabra clave o palabra reservada cualquiera (if en el ejemplo anterior) en el indicador (prompt) del sistema de ayuda de Python, obtienes acceso directo a la documentación de la misma. Esta documentación solo aparece en idioma inglés. Si desea obtener ayuda en idioma español, entonces puedes usar la documentación oficial en español.

Es importante que sepas que cuando consultas una página de documentación específica en el sistema de ayuda integrado, tendrás que presionar la tecla Q en tu teclado para poder salir de la página y regresar a la ayuda.

El sistema de ayuda integrado te ofrece además una guía de temas relacionados con la palabra clave que estés consultando. En la última línea del ejemplo anterior puedes leer Related help topics: TRUTHVALUE. Si introduces TRUTHVALUE y presionas Enter, obtendrás la página de ayuda correspondiente. Adelántate y experiméntalo tú mismo!

Puedo emplear palabras clave como nombres?

En la mayoría de los casos, si tratas de emplear una palabra clave o reservada para definir una variable o nombre, recibirás un error de sintaxis:

>>> class = "Economy"
  File "<input>", line 1
    class = "Economy"
          ^
SyntaxError: invalid syntax

En este ejemplo, cuando tratas de usar class como un nombre de variable, recibes una excepción de tipo SyntaxError. Sin embargo, este no es siempre el caso. Python también tiene palabras clave suaves que en determinado contexto, puedes emplear como nombres. Las más comunes son match y case, que solo están restringidas en el contexto de sentencias match:

>>> match = True
>>> match
True

Este ejemplo demustra que puedes emplear la palabra reservada match como un nombre de variable. En este caso, Python no levanta una excepción como lo hace con otras palabras reservadas.

En cualquier caso, debes evitar emplear palabras clave como nombres o identificadores de variables, funciones, clases, módulos, paquetes o de cualquier otra estructura u objeto Python. Еmplearlas de esta forma podría generar problemas difíciles de identificar y resolver en tu código.

Resumiendo

Ya has adquirido conocimientos elementales sobre las palabras clave o palabras reservadas de Python. Sabes cómo obtener la lista de palabras reservadas disponibles en tu entorno Python y cómo obtener ayuda sobre estas palabras y su papel en la sintaxis del lenguaje.

Ahora conoces:

  • La definición de palabra clave o reservada
  • Las palabras clave de Python y su significado
  • Como usar la función help() para objeter ayuda sobre las palabras clave

Con estos conocimientos tienes las bases y las herramientas necesarias para profundizar en los conceptos y definiciones que encierra cada una de las palabras clave de Python.

Lecturas sugeridas

Para afianzar tus conocimientos sobre las palabras clave o reservadas de Python, consulta los siguientes recursos en linea:

Ten en cuenta que algunos de estos recursos están en idioma inglés.