Список ключевых слов 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) все ключевые слова являются зарезервированными словами, и нет других зарезервированных слов, кроме ключевых, поэтому их можно использовать без различия.
См. также следующую статью об именах, которые можно использовать в качестве идентификаторов.