内置常量¶
少量常量存在于内置命名空间中。它们是:
- 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 代码。有关示例,请参阅 实现算术运算。
注意
NotImplemented
和NotImplementedError
不可互换。此常量只能按上述方式使用;有关正确使用异常的详细信息,请参阅NotImplementedError
。3.9 版本中有所更改: 在布尔上下文中求值
NotImplemented
已被弃用。3.14 版本中有所更改: 在布尔上下文中求值
NotImplemented
现在会引发TypeError
。它之前求值为True
并从 Python 3.9 开始发出DeprecationWarning
。
- Ellipsis¶
与省略号字面量“
...
”相同,一个经常用于表示某物被省略的对象。对Ellipsis
赋值是可能的,但对...
赋值会引发SyntaxError
。Ellipsis
是types.EllipsisType
类型的唯一实例。
备注
名称 None
、False
、True
和 __debug__
不能重新赋值(即使作为属性名赋值也会引发 SyntaxError
),因此它们可以被认为是“真”常量。
site
模块添加的常量¶
site
模块(在启动期间自动导入,除非给定 -S
命令行选项)将几个常量添加到内置命名空间中。它们对于交互式解释器shell很有用,不应在程序中使用。
- quit(code=None)¶
- exit(code=None)¶
这些对象在打印时会打印一条消息,例如“使用 quit() 或 Ctrl-D (即 EOF) 退出”,当在交互式解释器中直接访问或作为函数调用时,会引发带指定退出代码的
SystemExit
。
- help
当打印时,此对象会打印消息“输入 help() 获取交互式帮助,或 help(object) 获取有关对象的帮助。”,当在交互式解释器中直接访问时,会调用内置帮助系统(参阅
help()
)。
- license¶
当打印时,此对象会打印消息“输入 license() 查看完整许可证文本”,当调用时,会以分页器方式(一次一屏)显示完整许可证文本。