Щоб побачити список ключових слів 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) усі ключові слова – це зарезервовані слова, і крім ключових слів немає інших зарезервованих слів, тому їх можна використовувати без будь -яких відмінностей.

Дивіться також у наступній статті імена, які можна використовувати як ідентифікатори.