今天在写代码的时候无意中遇到了NotImplemented。NotImplemented取名思义,即“未实现”。一般用在一些比较算法中,比如类的\_\_eq\_\_,\_\_lt\_\_等。注意NotImplemented不是异常,所以不能使用Raise,返回NotImplemented应该未执行时退回。我们可以看看django中Field的实现,@total_orderingclassField(object):"""Baseclassforallfieldtypes"""def__eq__(self,other):#Neededfor@total_orderingifisinstance(other,Field):returnself.creation_counter==other.creation_counterreturnNotImplementeddef__lt__(self,other):#这是必需的,因为bisect不采用比较函数。ifisinstance(other,Field):returnself.creation_counter
