內建常數¶
有一小部分的常數存在於內建命名空間中。他們是:
-
False¶ 在
bool型別中的 false 值。對於False的賦值是不合法的,並且會拋出SyntaxError。
-
True¶ 在
bool型別中的 true 值。對於True的賦值是不合法的,並且會拋出SyntaxError。
-
None¶ 型別
NoneType的唯一值。None經常被使用來表達缺少值,例如未傳送預設的引數至函式時,相對應參數即會被賦予None。對於None的賦值是不合法的,並且會拋出SyntaxError。None是型別NoneType的唯一實例。
-
NotImplemented¶ 會被二元特殊方法 (binary special methods)(如:
__eq__()、__lt__()、__add__(),__rsub__()等)所回傳的特殊值,代表著該運算沒有針對其他型別的實作。同理也可以被原地二元特殊方法 (in-place binary special methods) (如:__imul__()、__iand__()等)回傳。它不應該被作為 boolean(布林)來解讀。NotImplemented是型別types.NotImplementedType的唯一實例。備註
當一個二元 (binary) 或原地 (in-place) 方法回傳
NotImplemented,直譯器會嘗試反映該操作到其他型別(或是其他後援 (fallback),取決於是哪種運算子)。如果所有的常識都回傳NotImplemented,直譯器會拋出適當的例外。不正確的回傳NotImplemented會造成誤導的錯誤訊息或是NotImplemented值被傳回到 Python 程式碼中。請參見 实现算术运算 以找到更多範例。
備註
NotImplementedError與NotImplemented並不一樣且不可互換。即使它們有相似的名稱與用途。欲知更多如何使用它們的細節,請參見NotImplementedError。3.9 版更變: 在 boolean(布林)上下文中解讀
NotImplemented已經被棄用。雖然目前會被解讀成 true,但會發出一個DeprecationWarning。在未來版本的 Python 將會拋出TypeError。
-
Ellipsis¶ 與刪節號 "
..." 字面相同。為一特殊值,大多用於結合使用者定義資料型別的延伸切片語法 (extended slicing syntax)。Ellipsis是型別types.EllipsisType的唯一實例。
備註
None,False,True,以及 __debug__ 都是不能被重新賦值的(任何對它們的賦值,即使是屬性的名稱,也會拋出 SyntaxError)。因此,它們可以被視為”真正的”常數。
由 site module(模組)所添增的常數¶
site module(模組)(在啟動期間自動 import ,除非有給予 -S 指令行選項)會添增一些常數到內建命名空間 (built-in namespace) 中。它們在互動式直譯器中是很有幫助的,但不應該在程式 (programs) 中被使用。
-
quit(code=None)¶ -
exit(code=None)¶ 當印出物件時,會印出一個訊息: "Use quit() or Ctrl-D (i.e. EOF) to exit" 。當被呼叫時,則會拋出
SystemExit並帶有指定的返回碼(exit code)。
-
license¶ 當印出此物件時,會印出訊息 "Type license() to see the full license text" 。當被呼叫時,則會以分頁形式印出完整的許可證文字(一次一整個畫面)。