Python3入门之——内置命名空间中的少数常量

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

  • False:bool 类型的假值。给 False 赋值是非法的并会引发SyntaxError。
  • True:bool 类型的真值。给 True 赋值是非法的并会引发SyntaxError。
  • None:NoneType 类型的唯一值。None 经常用于表示缺少值,当因为默认参数未传递给函数时。给 None
    赋值是非法的并会引发SyntaxError。
  • NotImplemented:双目运算特殊方法(如 __eq__(), __lt__(), __add__(), __rsub__() 等)应返回的特殊值,用于表示运算没有针对其他类型的实现;也可由原地双目运算特殊方法(如__imul__(), __iand__() 等)出于同样的目的而返回。它不应被作为布尔值来解读。
    注解: 当二进制(或就地)方法返回 “NotImplemented“时,解释器将尝试对另一种类型(或其他一些回滚操作,取决于运算符)的反射操作。如果所有尝试都返回 “NotImplemented“,则解释器将引发适当的异常。错误返回的 “NotImplemented“将导致误导性错误消息或返回到 Python 代码中的“NotImplemented“值。
    注解: NotImplementedError 和 NotImplemented 不可互换,即使它们有相似的名称和用途。有关何时使用它的详细信息,请参阅NotImplementedError。
    在 3.9 版更改: 作为布尔值来解读 NotImplemented 已被弃用。虽然它目前会被解读为真值,但将同时发出DeprecationWarning。它将在未来的 Python 版本中引发TypeError。
  • Ellipsis:与省略号文字字面“…”相同。特殊值主要与用户定义的容器数据类型的扩展切片语法结合使用。
  • __debug__:如果 Python 没有以 -O 选项启动,则此常量为真值。另请参见 assert 语句。
    注解: 变量名None,False,True 和 __ debug__ 无法重新赋值(赋值给它们,即使是属性名,将引
    发SyntaxError ),所以它们可以被认为是“真正的”常数。
上一篇:Python在编译时出现SyntaxError: Non-ASCII character ‘\xe8‘错误


下一篇:Python学习中的无效语法常见原因和解决办法分析