內建常量¶
少量常量存在於內建名稱空間中。它們是:
- 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() 檢視完整許可證文字”,當呼叫時,會以分頁器方式(一次一屏)顯示完整許可證文字。