内置常量

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

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 已被弃用。 虽然它目前被求值为 true,但它将发出 DeprecationWarning。 在未来的 Python 版本中,它将引发 TypeError

Ellipsis

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

__debug__

如果 Python 不是使用 -O 选项启动的,则此常量为 true。 另请参见 assert 语句。

注意

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

site 模块添加的常量

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

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

当打印时,会打印类似“使用 quit() 或 Ctrl-D (即 EOF) 退出”的消息,并在调用时,使用指定的退出代码引发 SystemExit 的对象。

help

当打印时,会打印消息 “Type help() for interactive help, or help(object) for help about object.” 的对象,并在调用时,充当 其他地方 所描述的行为。

credits

当打印或调用时,会分别打印版权或鸣谢文本的对象。

license

当打印时,会打印消息 “Type license() to see the full license text”,并在调用时,以类似分页的方式(一次一个屏幕)显示完整许可证文本的对象。