首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python进阶:利用NotImplemented优化你的对象交互逻辑,让Python对象间的操作更加智能与灵活

NotImplemented 在Python中,NotImplemented并不是一个异常类,而是一个特殊的值,用于在二元操作中表示某个操作对于该类型的对象是不适用的。...NotImplemented与异常的区别 类型不同:NotImplemented是一个特殊的值,而不是异常。它用于指示操作不适用,而不是指示错误或异常情况。...如果所有相关的方法都返回NotImplemented,Python将最终抛出一个TypeError。 NotImplemented不应该用于错误处理或异常情况。...类型与用途 NotImplemented: 类型:NotImplemented是一个特殊的值,具体来说是types.NotImplementedType类型的唯一实例。...行为差异 NotImplemented: 当一个二元方法返回NotImplemented时,Python解释器会尝试调用另一个操作数的相应方法(如果存在的话),以尝试完成操作。

8000

ASP.NET AJAX(6)__Microsoft AJAX Library中的面向对象类型系统命名空间类类——构造函数类——定义方法类——定义属性类——注册类类——抽象类类——继承类——调用父类方

_year * 1000; // throw Error.notImplemented(); }, getDescription: function() {//定义一个方法..._mymethod=function{throw Error.notImplemented();}}//包含抽象方法 类——继承 调用父类的构造函数 有父类的类必须调用父类的构造函数,否则会丢失继承效果..._year * 1000; throw Error.notImplemented();//抛出异常,这个方法是抽象方法,说明这个类是抽象类 }, getDescription..._year * 1000; throw Error.notImplemented();//抛出异常,这个方法是抽象方法,说明这个类是抽象类 }, getDescription..._year * 1000; throw Error.notImplemented();//抛出异常,这个方法是抽象方法,说明这个类是抽象类 }, getDescription

6.2K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python源码理解: += 和 xx = xx + xx的区别

    正因为无关, 所以这两函数调用最后, 直接返回Py_NotImplemented, 而这个是用来干嘛, 这个有大作用, 是列表相加的核心所在!...因为binary_iop1的调用结果是Py_NotImplemented, 所以下面的判断成立, 开始寻找对象(也就是演示代码中l对象)的ob_type->tp_as_sequence属性....直接返回`string_concatenate`的结果 -> 都不是: -> binary_iop1 (判断是否数字, 如果是则按照数字处理, 否则返回Py_NotImplemented...) -> binary_iop (判断是否数字, 如果是则按照数字处理, 否则返回Py_NotImplemented) -> 返回的结果是否 Py_NotImplemented...结论 现在我们大概明白了+=实际上是干嘛了: 它应该能算是一个加强版的+, 因为它比+多了一个写回本身的功能.不过是否能够写回本身, 还是得看对象自身是否支持, 也就是说是否具备Py_NotImplemented

    39810
    领券