内置常量

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

False

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

True

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

None

一个经常用于表示缺少值的特殊对象,例如当没有将默认参数传递给函数时。对 None 的赋值是非法的,会引发 SyntaxErrorNoneNoneType 类型的唯一实例。

NotImplemented

一个特殊值,应该由二元特殊方法(例如 __eq__()__lt__()__add__()__rsub__() 等)返回,以指示该操作未针对其他类型实现;可以由就地二元特殊方法(例如 __imul__()__iand__() 等)返回,用于相同的目的。它不应该在布尔上下文中求值。 NotImplementedtypes.NotImplementedType 类型的唯一实例。

注意

当二元(或就地)方法返回 NotImplemented 时,解释器将尝试对其他类型进行反射操作(或者根据运算符进行其他回退)。如果所有尝试都返回 NotImplemented,解释器将引发适当的异常。错误地返回 NotImplemented 将导致误导性错误消息或将 NotImplemented 值返回给 Python 代码。

有关示例,请参阅 实现算术运算

注意

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)

这些对象在打印时,会打印一条消息,如“使用 quit() 或 Ctrl-D(即 EOF)退出”,并在调用时,会使用指定的退出代码引发 SystemExit

credits

这些对象在打印或调用时,分别打印版权或贡献者的文本。

license

此对象在打印时,会打印消息“键入 license() 以查看完整的许可证文本”,并在调用时,以类似分页的方式(一次一屏)显示完整的许可证文本。