详解Python中内置的NotImplemented类型的用法
它是什么? ? 1 2 >>> type (NotImplemented) < type 'NotImplementedType' > NotImplemented 是Python在内置命名空间中的六个常数之一。其他有 False 、 True 、 None 、Ellipsis 和 __debug__。 和 Ellipsis很像, NotImplemented 能被重新赋值(覆盖)。对它赋值,甚至改变属性名称, 不会产生 SyntaxError。所以它不是一个真正的“真”常数。当然,我们应该永远不改变它。 但是为了完整性: ? 1 2 3 4 5 6 7 8 >>> None = 'hello' ... SyntaxError: can't assign to keyword >>> NotImplemented NotImplemented >>> NotImplemented = 'do not' >>> NotImplemented 'do not' 它有什么用?什么时候用? NotImplemented 是个特殊值,它能被二元特殊方法返回(比如 __eq__() 、 __lt__() 、 __add__() 、 __rsub__() 等),表明某个类型没有像其他类型那样实现这些操作。同样,它或许会被原地处理(in place)的二元特殊方法返回(比如__imul__()、_