Untuk melihat senarai kata kunci Python (perkataan simpanan), gunakan kata kunci tersebut

Perniagaan

Senarai kata kunci Python (perkataan simpanan) boleh didapati dalam modul kata kunci perpustakaan standard.

Kata kunci (perkataan simpanan) tidak boleh digunakan sebagai nama (pengecam) untuk nama pembolehubah, nama fungsi, nama kelas, dsb.

Maklumat berikut disediakan di sini.

  • Dapatkan senarai kata kunci Python (perkataan simpanan):keyword.kwlist
  • Semak sama ada rentetan itu ialah kata kunci (perkataan simpanan):keyword.iskeyword()
  • Perbezaan antara kata kunci dan perkataan terpelihara

Seperti yang dinyatakan dalam bahagian terakhir, kata kunci dan perkataan terpelihara adalah konsep yang berbeza.

Kod sampel berikut menggunakan Python 3.7.3. Ambil perhatian bahawa kata kunci (perkataan simpanan) mungkin berbeza bergantung pada versi.

Dapatkan senarai kata kunci Python (perkataan simpanan): keyword.kwlist

Kata kunci.kwlist mengandungi senarai kata kunci (perkataan simpanan) dalam Python.

Dalam contoh berikut, pprint digunakan untuk menjadikan output lebih mudah dibaca.

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

Unsur-unsur senarai adalah rentetan.

print(keyword.kwlist[0])
# False

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

Jika anda cuba menggunakan nama ini sebagai pengecam (nama pembolehubah, nama fungsi, nama kelas, dll.), anda akan mendapat ralat.

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

Semak sama ada rentetan itu ialah kata kunci (perkataan simpanan): keyword.iskeyword()

Anda boleh menyemak sama ada rentetan ialah kata kunci (perkataan simpanan) dengan menggunakan keyword.iskeyword().

Apabila anda menentukan rentetan yang anda mahu semak sebagai hujah, ia mengembalikan benar jika ia adalah kata kunci dan palsu jika tidak.

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

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

Perbezaan antara kata kunci dan perkataan terpelihara

Walaupun kami telah menggunakannya tanpa membuat sebarang perbezaan, secara tegasnya, kata kunci dan perkataan terpelihara adalah dua konsep yang berbeza.

  • Kata kunci: perkataan dengan makna khusus dalam spesifikasi bahasa
  • Perkataan terpelihara: perkataan yang memenuhi peraturan untuk pengecam sebagai rentetan tetapi tidak boleh digunakan sebagai pengecam.

Lihat pautan berikut untuk butiran lanjut, termasuk contoh seperti goto ialah perkataan terpelihara tetapi bukan kata kunci dalam 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.
Tanggapan yang berkait rapat dan sering bercantum ialah kata kunci, iaitu perkataan yang mempunyai makna istimewa dalam konteks tertentu. Ini adalah definisi semantik. Sebaliknya, nama dalam pustaka standard tetapi tidak dibina ke dalam bahasa tidak dianggap sebagai perkataan atau kata kunci simpanan. Istilah “perkataan terpelihara” dan “kata kunci” sering digunakan secara bergantian – seseorang mungkin mengatakan bahawa perkataan yang dikhaskan adalah “dikhaskan untuk digunakan sebagai kata kunci” – dan penggunaan formal berbeza dari satu bahasa ke bahasa; untuk artikel ini kami bezakan seperti di atas.
Reserved word – Wikipedia

Keywords have a special meaning in a language, and are part of the syntax.
Perkataan terpelihara ialah perkataan yang tidak boleh digunakan sebagai pengecam (pembolehubah, fungsi, dll.), kerana ia dikhaskan oleh bahasa.
language agnostic – What is the difference between “keyword” and “reserved word”? – Stack Overflow

Dalam Python (sekurang-kurangnya pada Python 3.7) semua kata kunci adalah perkataan yang dikhaskan dan tidak ada perkataan lain yang dikhaskan selain kata kunci, jadi selamat untuk menggunakannya tanpa membuat sebarang perbezaan.

Lihat juga artikel berikut untuk nama yang boleh digunakan sebagai pengecam.