我正在研究一个要为其创建__eq__
方法的集合类。事实证明它比我想象的要微妙得多,而且我注意到内置集合类的工作方式有几个错综复杂的地方。
真正对我帮助最大的是一个很好的例子。__eq__
在标准库或任何第三方库中是否有方法的纯 Python 实现?
我正在研究一个要为其创建__eq__
方法的集合类。事实证明它比我想象的要微妙得多,而且我注意到内置集合类的工作方式有几个错综复杂的地方。
真正对我帮助最大的是一个很好的例子。__eq__
在标准库或任何第三方库中是否有方法的纯 Python 实现?
零件很硬。零件应该是简单的委托。
def __eq__( self, other ):
if len(self) != len(other):
# Can we continue? If so, what rule applies? Pad shorter? Truncate longer?
else:
return all( self[i] == other[i] for i in range(len(self)) )
看看“collections.py”。最新版本(来自版本控制)实现了带有 __eq__ 的 OrderedDict。sets.py 中还有一个 __eq__