今天写代码时无意碰到NotImplemented,我一愣,难道是NotImplementedError的胞弟,所以稍微研究了一下。
NotImplemented故名思议,就是“未实现”,一般是用在一些比较算法中的,如class的__eq__,__lt__等,注意NotImplemented并不是异常,所以不能
使用raise,当没有实现时应该是return NotImplemented。
我们可以看看django中的Field的实现,
@total_ordering
class Field(object):
"""Base class

本文探讨了Python中的NotImplemented关键字,它在比较算法中用于指示方法未实现。不同于异常,当未实现时应返回NotImplemented。通过Django Field的示例和Person类的比较场景,阐述了返回NotImplemented的优势,它允许不同对象间的比较。同时提醒开发者,避免进行无意义的操作,如比较实例和小整数对象的内存地址。
最低0.47元/天 解锁文章
379

被折叠的 条评论
为什么被折叠?



