Para ver unha lista de palabras clave de Python (palabras reservadas), use a palabra clave

Negocios

Pódese atopar unha lista de palabras clave de Python (palabras reservadas) no módulo de palabras clave da biblioteca estándar.

As palabras clave (palabras reservadas) non se poden usar como nomes (identificadores) para nomes de variables, nomes de funcións, nomes de clases, etc.

A seguinte información ofrécese aquí.

  • Obter unha lista de palabras clave de Python (palabras reservadas):keyword.kwlist
  • Comproba se a cadea é unha palabra clave (palabra reservada):keyword.iskeyword()
  • A diferenza entre palabras clave e palabras reservadas

Como se mencionou na última sección, as palabras clave e as palabras reservadas son conceptos estritamente diferentes.

O seguinte código de exemplo usa Python 3.7.3. Teña en conta que as palabras clave (palabras reservadas) poden diferir segundo a versión.

Obter unha lista de palabras clave de Python (palabras reservadas): keyword.kwlist

O keyword.kwlist contén unha lista de palabras clave (palabras reservadas) en Python.

No seguinte exemplo, pprint úsase para facilitar a lectura da saída.

import keyword
import pprint

print(type(keyword.kwlist))
# <class 'list'>

print(len(keyword.kwlist))
# 35

pprint.pprint(keyword.kwlist, compact=True)
# ['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']

Os elementos da lista son cadeas.

print(keyword.kwlist[0])
# False

print(type(keyword.kwlist[0]))
# <class 'str'>

Se tentas usar estes nomes como identificadores (nomes de variables, nomes de funcións, nomes de clases, etc.), obterás un erro.

# True = 100
# SyntaxError: can't assign to keyword

Comproba se a cadea é unha palabra clave (palabra reservada): keyword.iskeyword()

Pode comprobar se unha cadea é unha palabra clave (palabra reservada) usando keyword.iskeyword().

Cando especifica a cadea que quere comprobar como argumento, devolve verdadeiro se é unha palabra clave e false se non o é.

print(keyword.iskeyword('None'))
# True

print(keyword.iskeyword('none'))
# False

A diferenza entre palabras clave e palabras reservadas

Aínda que os estivemos utilizando sen facer ningunha distinción, en rigor, palabras clave e palabras reservadas son dous conceptos diferentes.

  • Palabras chave: palabras con significado especial na especificación da lingua
  • Palabras reservadas: palabras que cumpren as regras dos identificadores como cadeas pero que non se poden utilizar como identificadores.

Consulte as seguintes ligazóns para obter máis detalles, incluíndo exemplos como goto é unha palabra reservada pero non unha palabra clave en Java.

In a computer language, a reserved word (also known as a reserved identifier) is a word that cannot be used as an identifier, such as the name of a variable, function, or label – it is “reserved from use”. This is a syntactic definition, and a reserved word may have no user-define meaning.
Unha noción moi relacionada e moitas veces combinada é unha palabra clave, que é unha palabra con significado especial nun contexto particular. Esta é unha definición semántica. Pola contra, os nomes dunha biblioteca estándar pero non incorporados ao idioma non se consideran palabras ou palabras clave reservadas. Os termos “palabra reservada” e “palabra clave” adoitan usarse indistintamente -pódese dicir que unha palabra reservada está “reservada para usar como palabra clave”- e o uso formal varía dunha lingua a outra; para este artigo distinguimos o anterior.
Reserved word – Wikipedia

Keywords have a special meaning in a language, and are part of the syntax.
As palabras reservadas son palabras que non se poden utilizar como identificadores (variables, funcións, etc.), porque están reservadas pola lingua.
language agnostic – What is the difference between “keyword” and “reserved word”? – Stack Overflow

En Python (polo menos a partir de Python 3.7) todas as palabras clave son palabras reservadas e non hai outras palabras reservadas ademais das palabras clave, polo que é seguro usalas sen facer ningunha distinción.

Consulte tamén o seguinte artigo para coñecer os nomes que se poden usar como identificadores.