>>> type(NotImplemented) <type 'NotImplementedType'> NotImplemented是Python 内置命名空间中的六个常量之一。其他还有 False, True, None, Ellipsis 和__debug__。类似于 Ellipsis,NotImplemented可以重新赋值。 赋值给它,即使作为属性名称,也不会引发SyntaxError异常,所以它不是真正的“真实(real/true)”的常量...
NotImplemented: 类型:NotImplemented是一个特殊的值,具体来说是types.NotImplementedType类型的唯一实例。它不是一个异常类,而是一个用于表示“未实现”或“不适用”的常量。 用途:主要用于自定义二元方法(如__add__、__eq__等)中,当某个操作在当前对象上无法执行时,返回NotImplemented以指示Python解释器尝试调用另...
在表达b1 == a1中,b1.__eq__(a1)返回了NotImplemented,这说明Python试着用a1.__eq__(b1)。由于a1足够可以返回True,因此这个表达可以成功。如果A中的__eq__()也返回NotImplemented,那么运行时会退化到使用内置的比较行为,即比较对象的标识符(在CPython中,是对象在内存中的地址)。 注意:如果在调用b1.__...
类型:NotImplemented是一个特殊的值,具体来说是types.NotImplementedType类型的唯一实例。它不是一个异常类,而是一个用于表示“未实现”或“不适用”的常量。 用途:主要用于自定义二元方法(如__add__、__eq__等)中,当某个操作在当前对象上无法执行时,返回NotImplemented以指示Python解释器尝试调用另一个操作数的相...
<type 'NotImplementedType'> NotImplemented是Python在内置命名空间中的六个常数之⼀。其他有False、True、None、Ellipsis和debug。和 Ellipsis很像,[NotImplemented] 能被重新赋值(覆盖)。对它赋值,甚⾄改变属性名称,不会产⽣ SyntaxError。所以它不是⼀个真正 的“真”常数。当然,我们应该永远不改变它。
>>>type(NotImplemented)<type'NotImplementedType'> >>>type(NotImplementedError)<type'type'> 如果抛出 NotImplemented 会得到 TypeError,因为它不是一个异常。而抛出 NotImplementedError 会正常捕获该异常。 >>>raise NotImplemented Traceback (most recent calllast): ...
实际上,NotImplemented是一个由NotImplementedType实例化的对象(通过NotImplemented.__class__可以发现)...
print(NotImplemented) #打印结果:NotImplemented #未实现异常 print(NotImplementedError) #打印结果:<class 'NotImplementedError'> 1. 2. 3. 4. 5. 总结: NotImplemented是个值,单值,是NotImplementedType类的实例 NotImplementedError是类型,是异常,返回type...
这种命名可能会使开发者感到困惑,NotImplementedError 是一种 exception 类,当派生类需要重写某个方法时,Python 应该触发这类错误。而 NotImplemented 是一个常量,它用于实现二进制操作。当我们触发 NotImplemented 时,Python 会给出「TypeError」的报错。错误的例子:class SitesManager(object):def get_image_...
types.NotImplementedType # NotImplemented的类型 types.ObjectType # object类型 types.SliceType #slice()返回的对象类型 types.StringType # 字符串类型 types.StringTypes # 一个包含StringType和UnicodeType的序列,用于方便对任何字符串对象进行检查。