Чтобы просмотреть список ключевых слов Python (зарезервированных слов), используйте ключевое слово

Бизнес

Список ключевых слов Python (зарезервированных слов) можно найти в модуле ключевых слов стандартной библиотеки.

Ключевые слова (зарезервированные слова) нельзя использовать в качестве имен (идентификаторов) для имен переменных, имен функций, имен классов и т.д.

Здесь представлена следующая информация.

  • Получить список ключевых слов Python (зарезервированных слов):keyword.kwlist
  • Проверьте, является ли строка ключевым словом (зарезервированным словом):keyword.iskeyword()
  • Разница между ключевыми и зарезервированными словами

Как уже упоминалось в предыдущем разделе, ключевые слова и зарезервированные слова — это строго разные понятия.

В следующем примере кода используется Python 3.7.3. Обратите внимание, что ключевые слова (зарезервированные слова) могут отличаться в зависимости от версии.

Получение списка ключевых слов Python (зарезервированных слов): keyword.kwlist

Keyword.kwlist содержит список ключевых слов (зарезервированных слов) в Python.

В следующем примере используется pprint, чтобы сделать вывод более удобным для чтения.

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

Элементами списка являются строки.

print(keyword.kwlist[0])
# False

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

Если вы попытаетесь использовать эти имена в качестве идентификаторов (имен переменных, имен функций, имен классов и т.д.), вы получите ошибку.

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

Проверьте, является ли строка ключевым словом (зарезервированным словом): keyword.iskeyword()

Вы можете проверить, является ли строка ключевым словом (зарезервированным словом), используя keyword.iskeyword().

Когда вы указываете в качестве аргумента строку, которую хотите проверить, он возвращает true, если это ключевое слово, и false, если нет.

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

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

Разница между ключевыми и зарезервированными словами

Хотя мы использовали их, не делая различий, строго говоря, ключевые слова и зарезервированные слова — это два разных понятия.

  • Ключевые слова: слова с особым значением в спецификации языка
  • Зарезервированные слова: слова, которые удовлетворяют правилам для идентификаторов как строк, но не могут быть использованы в качестве идентификаторов.

Смотрите следующие ссылки для получения более подробной информации, включая примеры, например, goto является зарезервированным словом, но не ключевым словом в 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

В Python (по крайней мере, начиная с Python 3.7) все ключевые слова являются зарезервированными словами, и нет других зарезервированных слов, кроме ключевых, поэтому их можно использовать без различия.

См. также следующую статью об именах, которые можно использовать в качестве идентификаторов.