內建常數

有一小部分的常數存在於內建命名空間中。他們是:

False

bool 型別中的 false 值。對於 False 的賦值是不合法的,並且會拋出 SyntaxError

True

bool 型別中的 true 值。對於 True 的賦值是不合法的,並且會拋出 SyntaxError

None

通常被用来代表空值的对象,例如未向某个函数传入默认参数时。 向 None 赋值是非法的并会引发 SyntaxErrorNoneNoneType 类型的唯一实例。

NotImplemented

一个应当由双目运算特殊方法(如 __eq__(), __lt__(), __add__(), __rsub__() 等)返回的特殊值,以表明该运算没有针对其他类型的实现;也可由原地双目运算特殊方法(如 __imul__(), __iand__() 等)出于同样的目的而返回。 NotImplementedtypes.NotImplementedType 类型的唯一实例。

備註

當一個二元 (binary) 或原地 (in-place) 方法回傳 NotImplemented,直譯器會嘗試反映該操作到其他型別(或是其他後援 (fallback),取決於是哪種運算子)。如果所有的常識都回傳 NotImplemented,直譯器會拋出適當的例外。不正確的回傳 NotImplemented 會造成誤導的錯誤訊息或是 NotImplemented 值被傳回到 Python 程式碼中。

請參見 實作算術操作 以找到更多範例。

備註

NotImplementedErrorNotImplemented 並不一樣且不可互換。即使它們有相似的名稱與用途。欲知更多如何使用它們的細節,請參見 NotImplementedError

在 3.9 版的變更: 在 boolean(布林)上下文中解讀 NotImplemented 已經被棄用。雖然目前會被解讀成 true,但會發出一個 DeprecationWarning。在未來版本的 Python 將會拋出 TypeError

Ellipsis

與刪節號 "..." 字面相同。為一特殊值,大多用於結合使用者定義資料型別的延伸切片語法 (extended slicing syntax)。Ellipsis 是型別 types.EllipsisType 的唯一實例。

__debug__

如果 Python 沒有被以 -O 選項啟動,則此常數為 true。請參見 assert 陳述式。

備註

NoneFalseTrue,以及 __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)。

credits

當印出或是呼叫此物件時,分別會印出版權與致謝的文字。

license

當印出此物件時,會印出訊息 "Type license() to see the full license text" 。當被呼叫時,則會以分頁形式印出完整的許可證文字(一次一整個畫面)。