內建常量¶
少量常量存在於內建名稱空間中。它們是:
- False¶
bool型別的假值。對False進行賦值是非法的,會引發SyntaxError。
- True¶
bool型別的真值。對True進行賦值是非法的,會引發SyntaxError。
- None¶
一個經常用於表示缺少值的物件,例如當預設引數未傳遞給函式時。對
None進行賦值是非法的,會引發SyntaxError。None是NoneType型別的唯一例項。
- NotImplemented¶
一個特殊值,應由二元特殊方法(例如
__eq__()、__lt__()、__add__()、__rsub__()等)返回,以指示操作未針對其他型別實現;也可以由原地二元特殊方法(例如__imul__()、__iand__()等)返回,用於相同目的。它不應在布林上下文中求值。NotImplemented是types.NotImplementedType型別的唯一例項。備註
當一個二元(或原地)方法返回
NotImplemented時,直譯器將嘗試對另一種型別執行反射操作(或根據運算子執行其他回退操作)。如果所有嘗試都返回NotImplemented,直譯器將引發適當的異常。錯誤地返回NotImplemented將導致誤導性的錯誤訊息或將NotImplemented值返回給 Python 程式碼。有關示例,請參閱 實現算術運算。
注意
NotImplemented和NotImplementedError不可互換。此常量只能按上述方式使用;有關正確使用異常的詳細資訊,請參閱NotImplementedError。3.9 版本中有所更改: 在布林上下文中求值
NotImplemented已被棄用。3.14 版本中有所更改: 在布林上下文中求值
NotImplemented現在會引發TypeError。它之前求值為True並從 Python 3.9 開始發出DeprecationWarning。
- Ellipsis¶
與省略號字面量“
...”相同,一個經常用於表示某物被省略的物件。對Ellipsis賦值是可能的,但對...賦值會引發SyntaxError。Ellipsis是types.EllipsisType型別的唯一例項。
備註
名稱 None、False、True 和 __debug__ 不能重新賦值(即使作為屬性名賦值也會引發 SyntaxError),因此它們可以被認為是“真”常量。
site 模組新增的常量¶
site 模組(在啟動期間自動匯入,除非給定 -S 命令列選項)將幾個常量新增到內建名稱空間中。它們對於互動式直譯器shell很有用,不應在程式中使用。
- quit(code=None)¶
- exit(code=None)¶
這些物件在列印時會列印一條訊息,例如“使用 quit() 或 Ctrl-D (即 EOF) 退出”,當在互動式直譯器中直接訪問或作為函式呼叫時,會引發帶指定退出程式碼的
SystemExit。
- help
當列印時,此物件會列印訊息“輸入 help() 獲取互動式幫助,或 help(object) 獲取有關物件的幫助。”,當在互動式直譯器中直接訪問時,會呼叫內建幫助系統(參閱
help())。
- license¶
當列印時,此物件會列印訊息“輸入 license() 檢視完整許可證文字”,當呼叫時,會以分頁器方式(一次一屏)顯示完整許可證文字。