За да видите списък на ключовите думи на 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) всички ключови думи са запазени думи и освен тях няма други запазени думи, така че е безопасно да ги използвате, без да правите разлика.

Вижте също следната статия за имена, които могат да се използват като идентификатори.

Copied title and URL