Pour voir une liste de mots-clés Python (mots réservés), utilisez le mot-clé

Affaires

Une liste des mots-clés Python (mots réservés) se trouve dans le module keyword de la bibliothèque standard.

Les mots clés (mots réservés) ne peuvent pas être utilisés comme noms (identifiants) pour les noms de variables, de fonctions, de classes, etc.

Les informations suivantes sont fournies ici.

  • Obtenir une liste de mots-clés Python (mots réservés) :keyword.kwlist
  • Vérifie si la chaîne est un mot-clé (mot réservé) :keyword.iskeyword()
  • La différence entre les mots-clés et les mots réservés

Comme mentionné dans la dernière section, les mots clés et les mots réservés sont des concepts strictement différents.

L'exemple de code suivant utilise Python 3.7.3. Notez que les mots-clés (mots réservés) peuvent différer selon la version.

Obtenir une liste de mots-clés Python (mots réservés) : keyword.kwlist

Le fichier keyword.kwlist contient une liste de mots-clés (mots réservés) en Python.

Dans l'exemple suivant, pprint est utilisé pour rendre la sortie plus facile à lire.

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

Les éléments de la liste sont des chaînes de caractères.

print(keyword.kwlist[0])
# False

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

Si vous essayez d'utiliser ces noms comme identifiants (noms de variables, de fonctions, de classes, etc.), vous obtiendrez une erreur.

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

Vérifier si la chaîne est un mot-clé (mot réservé) : keyword.iskeyword()

Vous pouvez vérifier si une chaîne est un mot-clé (mot réservé) en utilisant keyword.iskeyword().

Lorsque vous spécifiez la chaîne de caractères que vous voulez vérifier en tant qu'argument, elle renvoie true si c'est un mot-clé, et false si ce n'est pas le cas.

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

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

La différence entre les mots-clés et les mots réservés

Bien que nous les ayons utilisés sans faire de distinction, à proprement parler, les mots clés et les mots réservés sont deux concepts différents.

  • Mots clés : mots ayant une signification particulière dans la spécification de la langue
  • Mots réservés : mots qui satisfont aux règles applicables aux identificateurs en tant que chaînes de caractères mais qui ne peuvent pas être utilisés comme identificateurs.

Voir les liens suivants pour plus de détails, y compris des exemples tels que goto est un mot réservé mais pas un mot-clé 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.
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

En Python (au moins à partir de Python 3.7), tous les mots-clés sont des mots réservés et il n'y a pas d'autres mots réservés que les mots-clés, il est donc possible de les utiliser en toute sécurité sans faire de distinction.

Voir aussi l'article suivant pour les noms qui peuvent être utilisés comme identifiants.