内置常量

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

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 代码。

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

注意

NotImplementedNotImplementedError 不可互换。此常量只能按上述方式使用;有关正确使用异常的详细信息,请参阅 NotImplementedError

3.9 版本中有所更改: 在布尔上下文中求值 NotImplemented 已被弃用。

3.14 版本中有所更改: 在布尔上下文中求值 NotImplemented 现在会引发 TypeError。它之前求值为 True 并从 Python 3.9 开始发出 DeprecationWarning

Ellipsis

与省略号字面量“...”相同,一个经常用于表示某物被省略的对象。对 Ellipsis 赋值是可能的,但对 ... 赋值会引发 SyntaxErrorEllipsistypes.EllipsisType 类型的唯一实例。

__debug__

如果 Python 启动时没有使用 -O 选项,则此常量为真。另请参阅 assert 语句。

备注

名称 NoneFalseTrue__debug__ 不能重新赋值(即使作为属性名赋值也会引发 SyntaxError),因此它们可以被认为是“真”常量。

site 模块添加的常量

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

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

这些对象在打印时会打印一条消息,例如“使用 quit() 或 Ctrl-D (即 EOF) 退出”,当在交互式解释器中直接访问或作为函数调用时,会引发带指定退出代码的 SystemExit

help

当打印时,此对象会打印消息“输入 help() 获取交互式帮助,或 help(object) 获取有关对象的帮助。”,当在交互式解释器中直接访问时,会调用内置帮助系统(参阅 help())。

credits

这些对象在打印或调用时会分别打印版权或鸣谢文本。

license

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