Per vedere un elenco di parole chiave Python (parole riservate), usate la parola chiave

Attività commerciale

Una lista di parole chiave Python (parole riservate) può essere trovata nel modulo keyword della libreria standard.

Le parole chiave (parole riservate) non possono essere usate come nomi (identificatori) per nomi di variabili, nomi di funzioni, nomi di classi, ecc.

Le seguenti informazioni sono fornite qui.

  • Ottiene un elenco di parole chiave Python (parole riservate):keyword.kwlist
  • Controlla se la stringa è una parola chiave (parola riservata):keyword.iskeyword()
  • La differenza tra parole chiave e parole riservate

Come menzionato nella sezione precedente, le parole chiave e le parole riservate sono concetti strettamente diversi.

Il seguente codice di esempio usa Python 3.7.3. Notate che le parole chiave (parole riservate) possono essere diverse a seconda della versione.

Ottenere un elenco di parole chiave Python (parole riservate): keyword.kwlist

La keyword.kwlist contiene una lista di parole chiave (parole riservate) in Python.

Nell'esempio seguente, viene usato pprint per rendere l'output più facile da leggere.

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']

Gli elementi della lista sono stringhe.

print(keyword.kwlist[0])
# False

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

Se cercate di usare questi nomi come identificatori (nomi di variabili, nomi di funzioni, nomi di classi, ecc.

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

Controlla se la stringa è una parola chiave (parola riservata): keyword.iskeyword()

Potete controllare se una stringa è una parola chiave (parola riservata) usando keyword.iskeyword().

Quando specificate la stringa che volete controllare come argomento, restituisce true se è una parola chiave e false se non lo è.

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

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

La differenza tra parole chiave e parole riservate

Anche se le abbiamo usate senza fare alcuna distinzione, a rigore, le parole chiave e le parole riservate sono due concetti diversi.

  • Parole chiave: parole con un significato speciale nella specifica della lingua
  • Parole riservate: parole che soddisfano le regole per gli identificatori come stringhe ma non possono essere usate come identificatori.

Vedi i seguenti link per maggiori dettagli, inclusi esempi come goto è una parola riservata ma non una parola chiave in 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.
A closely related and often conflated notion is a keyword, which is a word with special meaning in a particular context. This is a semantic definition. By contrast, names in a standard library but not built into the language are not considered reserved words or keywords. The terms “reserved word” and “keyword” are often used interchangeably – one may say that a reserved word is “reserved for use as a keyword” – and formal use varies from language to language; for this article we distinguish as above.
Reserved word – Wikipedia

Keywords have a special meaning in a language, and are part of the syntax.
Reserved words are words that cannot be used as identifiers (variables, functions, etc.), because they are reserved by the language.
language agnostic – What is the difference between “keyword” and “reserved word”? – Stack Overflow

In Python (almeno a partire da Python 3.7) tutte le parole chiave sono parole riservate e non ci sono altre parole riservate oltre alle parole chiave, quindi è sicuro usarle senza fare alcuna distinzione.

Vedi anche il seguente articolo per i nomi che possono essere usati come identificatori.