內建常數¶
有一小部分的常數存在於內建命名空間中。他們是:
- 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)。
- help
當印出此物件時,會印出訊息 "Type help() for interactive help, or help(object) for help about object.",並在呼叫時按所述的方式操作
elsewhere
。
- license¶
當印出此物件時,會印出訊息 "Type license() to see the full license text",並在呼叫時以分頁形式印出完整的許可證文字(一次一整個畫面)。