__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__ もあります