内置常量¶
少量常量存在于内置命名空间中。它们是:
- False¶
bool类型的假值。 对False的赋值是非法的,并会引发SyntaxError。
- True¶
bool类型的真值。 对True的赋值是非法的,并会引发SyntaxError。
- None¶
一个经常用于表示缺少值的对象,例如当默认参数未传递给函数时。 对
None的赋值是非法的,并会引发SyntaxError。None是NoneType类型的唯一实例。
- NotImplemented¶
一个特殊的值,应由二进制特殊方法(例如
__eq__(),__lt__(),__add__(),__rsub__()等)返回,以表示该操作未针对其他类型实现; 可以由就地二进制特殊方法(例如__imul__(),__iand__()等)返回,用于相同的目的。 不应在布尔上下文中使用它。NotImplemented是types.NotImplementedType类型的唯一实例。注意
当二进制(或就地)方法返回
NotImplemented时,解释器将尝试对另一种类型执行反射操作(或某些其他回退,具体取决于运算符)。 如果所有尝试都返回NotImplemented,则解释器将引发适当的异常。 错误地返回NotImplemented将导致误导性的错误消息,或者将NotImplemented值返回给 Python 代码。有关示例,请参见 实现算术运算。
注意
NotImplementedError和NotImplemented不可互换,即使它们具有相似的名称和目的。 有关何时使用它的详细信息,请参见NotImplementedError。在 3.9 版本中更改: 在布尔上下文中求值
NotImplemented已被弃用。 虽然它目前被求值为 true,但它将发出DeprecationWarning。 在未来的 Python 版本中,它将引发TypeError。
- Ellipsis¶
与省略号字面量 “
...” 相同。 主要与用户定义的容器数据类型的扩展切片语法结合使用的特殊值。Ellipsis是types.EllipsisType类型的唯一实例。
注意
名称 None,False,True 和 __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.” 的对象,并在调用时,充当
其他地方所描述的行为。
- license¶
当打印时,会打印消息 “Type license() to see the full license text”,并在调用时,以类似分页的方式(一次一个屏幕)显示完整许可证文本的对象。