内置常量¶
在内置命名空间中存在少量常量。它们是:
- 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
。虽然它目前评估为真,但它会发出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
。
- license¶
此对象在打印时,会打印消息“键入 license() 以查看完整的许可证文本”,并在调用时,以类似分页的方式(一次一屏)显示完整的许可证文本。