要查看 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.
一個密切相關且經常混淆的概念是關鍵字,它是在特定上下文中具有特殊含義的詞。這是一個語義定義。相比之下,標準庫中但未內置於語言中的名稱不被視為保留字或關鍵字。術語“保留字”和“關鍵字”經常互換使用——人們可以說保留字是“保留用作關鍵字”——正式使用因語言而異;對於本文,我們區分如上。
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 開始)所有關鍵字都是保留字,並且除了關鍵字之外沒有其他保留字,因此可以安全地使用它們而不做任何區分。

有關可用作標識符的名稱,另請參閱以下文章。

Copied title and URL