Спіс ключавых слоў (зарэзерваваных слоў) 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().
Калі вы паказваеце радок, які вы хочаце праверыць у якасці аргумента, ён вяртае праўду, калі гэта ключавое слова, і 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) усе ключавыя словы з’яўляюцца зарэзерваванымі словамі, і няма іншых зарэзерваваных слоў, акрамя ключавых слоў, таму іх можна бяспечна выкарыстоўваць без якіх-небудзь адрозненняў.
Глядзіце таксама наступны артыкул для імёнаў, якія можна выкарыстоўваць у якасці ідэнтыфікатараў.