gpt4 book ai didi

python - 为什么返回 NotImplemented 而不是引发 NotImplementedError

转载 作者:行者123 更新时间:2023-11-28 19:00:03 25 4
gpt4 key购买 nike

Python 有一个名为 NotImplemented 的单例。 .

为什么有人想要返回 NotImplemented 而不是引发 NotImplementedError异常(exception)?这不会让查找错误(例如执行无效方法的代码)变得更加困难吗?

最佳答案

这是因为 __lt__() 和相关的比较方法在列表排序等中非常常用。有时算法会选择尝试另一种方式或选择默认获胜者。除非被捕获,否则引发异常将打破排序,而 NotImplemented 不会被引发并可用于进一步的测试。

http://jcalderone.livejournal.com/32837.html

总结该链接:

"NotImplemented signals to the runtime that it should ask someone else to satisfy the operation. In the expression a == b, if a.__eq__(b) returns NotImplemented, then Python tries b.__eq__(a). If b knows enough to return True or False, then the expression can succeed. If it doesn't, then the runtime will fall back to the built-in behavior (which is based on identity for == and !=)."

关于python - 为什么返回 NotImplemented 而不是引发 NotImplementedError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53696091/

25 4 0
文章推荐: javascript - D3 : How to add labels top of in each bar in grouped bar chart
文章推荐: ios - 如何找到我的 iOS Apple Developer 艺术家 ID?
文章推荐: css -
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com