内置常量¶
少量常量存在于内置命名空间中。它们是:
- 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”,并在调用时,以类似分页的方式(一次一个屏幕)显示完整许可证文本的对象。