Список ключових слів 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.
Близько пов’язане та часто поєднане поняття – це ключове слово, яке є словом із особливим значенням у певному контексті. Це семантичне визначення. Навпаки, імена у стандартній бібліотеці, але не вбудовані в мову, не вважаються зарезервованими словами чи ключовими словами. Терміни “зарезервоване слово” та “ключове слово” часто використовуються як взаємозамінні – можна сказати, що зарезервоване слово “зарезервовано для використання як ключове слово” – і офіційне використання варіюється від мови до мови; для цієї статті ми виділяємо, як описано вище.
Reserved word – Wikipedia
Keywords have a special meaning in a language, and are part of the syntax.
Зарезервовані слова – це слова, які не можна використовувати як ідентифікатори (змінні, функції тощо), оскільки вони зарезервовані мовою.
language agnostic – What is the difference between “keyword” and “reserved word”? – Stack Overflow
У Python (принаймні станом на Python 3.7) усі ключові слова – це зарезервовані слова, і крім ключових слів немає інших зарезервованих слів, тому їх можна використовувати без будь -яких відмінностей.
Дивіться також у наступній статті імена, які можна використовувати як ідентифікатори.