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