Python açar sözlərinin (ehtiyat sözlər) siyahısını görmək üçün açar sözdən istifadə edin

Biznes

Python açar sözlərinin siyahısını (ehtiyat sözlər) standart kitabxananın açar söz modulunda tapmaq olar.

Açar sözlər (ehtiyat sözlər) dəyişən adları, funksiya adları, sinif adları və s. üçün ad (identifikator) kimi istifadə edilə bilməz.

Aşağıdakı məlumatlar burada verilir.

  • Python açar sözlərinin siyahısını əldə edin (ehtiyat sözlər):keyword.kwlist
  • Sətin açar söz (ehtiyat söz) olub olmadığını yoxlayın:keyword.iskeyword()
  • Açar sözlər və qorunan sözlər arasındakı fərq

Son bölmədə qeyd edildiyi kimi, açar sözlər və qorunan sözlər tamamilə fərqli anlayışlardır.

Aşağıdakı nümunə kod Python 3.7.3-dən istifadə edir. Nəzərə alın ki, açar sözlər (ehtiyat sözlər) versiyadan asılı olaraq fərqlənə bilər.

Python açar sözlərinin siyahısını əldə edin (ehtiyat sözlər): keyword.kwlist

Açar söz.kwlist Python dilində açar sözlər (ehtiyat sözlər) siyahısını ehtiva edir.

Aşağıdakı misalda çıxışın oxunmasını asanlaşdırmaq üçün pprint istifadə olunur.

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']

Siyahının elementləri sətirlərdir.

print(keyword.kwlist[0])
# False

print(type(keyword.kwlist[0]))
# <class 'str'>

Bu adları identifikator (dəyişən adları, funksiya adları, sinif adları və s.) kimi istifadə etməyə çalışsanız, xəta alacaqsınız.

# True = 100
# SyntaxError: can't assign to keyword

Sətin açar söz (ehtiyat söz) olub olmadığını yoxlayın: keyword.iskeyword()

Siz keyword.iskeyword() istifadə edərək sətirin açar söz (ehtiyat söz) olub-olmadığını yoxlaya bilərsiniz.

Yoxlamaq istədiyiniz sətri arqument kimi göstərdiyiniz zaman açar sözdürsə doğru, deyilsə false qaytarır.

print(keyword.iskeyword('None'))
# True

print(keyword.iskeyword('none'))
# False

Açar sözlər və qorunan sözlər arasındakı fərq

Onları heç bir fərq qoymadan istifadə etsək də, dəqiq desək, açar sözlər və qorunan sözlər iki fərqli anlayışdır.

  • Açar sözlər: dil spesifikasiyasında xüsusi məna daşıyan sözlər
  • Qorunan sözlər: sətir kimi identifikatorlar üçün qaydalara cavab verən, lakin identifikator kimi istifadə edilə bilməyən sözlər.

Daha ətraflı məlumat üçün aşağıdakı keçidlərə baxın, o cümlədən goto Java-da qorunan sözdür, lakin açar söz deyil.

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.
Yaxından əlaqəli və tez-tez bir-birinə qarışan anlayış müəyyən bir kontekstdə xüsusi məna daşıyan bir söz olan açar sözdür. Bu semantik tərifdir. Bunun əksinə olaraq, standart kitabxanada olan, lakin dilə daxil edilməyən adlar qorunan sözlər və ya açar sözlər hesab edilmir. “Zorunlu söz” və “açar söz” terminləri tez-tez bir-birini əvəz edən mənada istifadə olunur – deyə bilər ki, qorunan söz “açar söz kimi istifadə üçün qorunur” – və formal istifadə dildən dilə dəyişir; bu məqalə üçün yuxarıdakı kimi fərqləndiririk.
Reserved word – Wikipedia

Keywords have a special meaning in a language, and are part of the syntax.
Qorunan sözlər dil tərəfindən qorunduğu üçün identifikator (dəyişənlər, funksiyalar və s.) kimi istifadə edilə bilməyən sözlərdir.
language agnostic – What is the difference between “keyword” and “reserved word”? – Stack Overflow

Python-da (ən azı Python 3.7-dən etibarən) bütün açar sözlər qorunan sözlərdir və açar sözlərdən başqa heç bir qorunan söz yoxdur, ona görə də heç bir fərq qoymadan onlardan istifadə etmək təhlükəsizdir.

İdentifikator kimi istifadə edilə bilən adlar üçün aşağıdakı məqaləyə də baxın.