内置常量

有少数的常量存在于内置命名空间中。它们是:

False

bool 类型的假值。给 False 赋值是非法的,并会引发 SyntaxError

True

bool 类型的真值。给 True 赋值是非法的,并会引发 SyntaxError

None

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

NotImplemented

应当由二元运算的特殊方法(如 __eq__(), __lt__(), __add__(), __rsub__() 等)返回的特殊值,用于表明该运算没有针对其他类型的实现;也可由原地二元运算的特殊方法(如 __imul__(), __iand__() 等)出于同样的目的而返回。它不应在布尔运算中被求值。NotImplementedtypes.NotImplementedType 类型的唯一实例。

备注

当二元(或就地)方法返回 NotImplemented 时,解释器将尝试对另一种类型(或其他一些回滚操作,取决于运算符)实施反射操作。如果所有尝试都返回 NotImplemented,则解释器将引发适当的异常。错误返回的 NotImplemented 将导致误导性错误消息或返回到 Python 代码中的 NotImplemented 值。

参见 实现算术运算 示例。

备注

NotImplementedErrorNotImplemented 不可互换,即使它们有相似的名称和用途。有关何时使用它的详细信息,请参阅 NotImplementedError

在 3.9 版更改: 作为布尔值来解读 NotImplemented 已被弃用。虽然它目前会被解读为真值,但将同时发出 DeprecationWarning。它将在未来的 Python 版本中引发 TypeError

Ellipsis

与省略号字面值 “...” 相同。该特殊值主要是与用户定义的容器数据类型的扩展切片语法结合使用。Ellipsistypes.EllipsisType 类型的唯一实例。

__debug__

如果 Python 没有以 -O 选项启动,则此常量为真值。另请参见 assert 语句。

备注

名称 NoneFalseTrue__ debug__ 无法重新赋值(赋值给它们,即使是属性名,将引发 SyntaxError ),所以它们可以被认为是“真正的”常量。

site 模块添加的常量

site 模块(在启动期间自动导入,除非给出 -S 命令行选项)将几个常量添加到内置命名空间。它们对交互式解释器 shell 很有用,并且不应在程序中使用。

quit(code=None)
exit(code=None)

当打印此对象时,会打印出一条消息,例如 “Use quit() or Ctrl-D (i.e. EOF) to exit”,当调用此对象时,将使用指定的退出代码来引发 SystemExit

credits

打印或调用的对象分别打印版权或作者的文本。

license

当打印此对象时,会打印出一条消息 “Type license() to see the full license text”,当调用此对象时,将以分页形式显示完整的许可证文本(每次显示一屏)。