內建常量

少量常量存在於內建名稱空間中。它們是:

False

bool 型別的假值。對 False 進行賦值是非法的,會引發 SyntaxError

True

bool 型別的真值。對 True 進行賦值是非法的,會引發 SyntaxError

None

一個經常用於表示缺少值的物件,例如當預設引數未傳遞給函式時。對 None 進行賦值是非法的,會引發 SyntaxErrorNoneNoneType 型別的唯一例項。

NotImplemented

一個特殊值,應由二元特殊方法(例如 __eq__()__lt__()__add__()__rsub__() 等)返回,以指示操作未針對其他型別實現;也可以由原地二元特殊方法(例如 __imul__()__iand__() 等)返回,用於相同目的。它不應在布林上下文中求值。NotImplementedtypes.NotImplementedType 型別的唯一例項。

備註

當一個二元(或原地)方法返回 NotImplemented 時,直譯器將嘗試對另一種型別執行反射操作(或根據運算子執行其他回退操作)。如果所有嘗試都返回 NotImplemented,直譯器將引發適當的異常。錯誤地返回 NotImplemented 將導致誤導性的錯誤訊息或將 NotImplemented 值返回給 Python 程式碼。

有關示例,請參閱 實現算術運算

注意

NotImplementedNotImplementedError 不可互換。此常量只能按上述方式使用;有關正確使用異常的詳細資訊,請參閱 NotImplementedError

3.9 版本中有所更改: 在布林上下文中求值 NotImplemented 已被棄用。

3.14 版本中有所更改: 在布林上下文中求值 NotImplemented 現在會引發 TypeError。它之前求值為 True 並從 Python 3.9 開始發出 DeprecationWarning

Ellipsis

與省略號字面量“...”相同,一個經常用於表示某物被省略的物件。對 Ellipsis 賦值是可能的,但對 ... 賦值會引發 SyntaxErrorEllipsistypes.EllipsisType 型別的唯一例項。

__debug__

如果 Python 啟動時沒有使用 -O 選項,則此常量為真。另請參閱 assert 語句。

備註

名稱 NoneFalseTrue__debug__ 不能重新賦值(即使作為屬性名賦值也會引發 SyntaxError),因此它們可以被認為是“真”常量。

site 模組新增的常量

site 模組(在啟動期間自動匯入,除非給定 -S 命令列選項)將幾個常量新增到內建名稱空間中。它們對於互動式直譯器shell很有用,不應在程式中使用。

quit(code=None)
exit(code=None)

這些物件在列印時會列印一條訊息,例如“使用 quit() 或 Ctrl-D (即 EOF) 退出”,當在互動式直譯器中直接訪問或作為函式呼叫時,會引發帶指定退出程式碼的 SystemExit

help

當列印時,此物件會列印訊息“輸入 help() 獲取互動式幫助,或 help(object) 獲取有關物件的幫助。”,當在互動式直譯器中直接訪問時,會呼叫內建幫助系統(參閱 help())。

credits

這些物件在列印或呼叫時會分別列印版權或鳴謝文字。

license

當列印時,此物件會列印訊息“輸入 license() 檢視完整許可證文字”,當呼叫時,會以分頁器方式(一次一屏)顯示完整許可證文字。