內建常數¶
有一小部分的常數存在於內建命名空間中。他們是:
- 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 程式碼中。請參見 實作算術操作 以找到更多範例。
警示
NotImplemented
與NotImplementedError
並不一樣且不可互換。這個常數只能用於上述的情況;欲知更多如何正確使用它們的細節,請參見NotImplementedError
。在 3.9 版的變更: Evaluating
NotImplemented
in a boolean context was deprecated.在 3.14 版的變更: Evaluating
NotImplemented
in a boolean context now raises aTypeError
. It previously evaluated toTrue
and emitted aDeprecationWarning
since Python 3.9.
- Ellipsis¶
The same as the ellipsis literal "
...
", an object frequently used to indicate that something is omitted. Assignment toEllipsis
is possible, but assignment to...
raises aSyntaxError
.Ellipsis
is the sole instance of thetypes.EllipsisType
type.
備註
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)。
- help
當印出此物件時,會印出訊息 "Type help() for interactive help, or help(object) for help about object.",並在互動式直譯器中直接存取時,會叫用內建的幫助系統(參見
help()
)。
- license¶
當印出此物件時,會印出訊息 "Type license() to see the full license text",並在呼叫時以分頁形式印出完整的許可證文字(一次一整個畫面)。