クラスの特殊メソッド 等しい「==」 __eq__
Pythonのクラスにおいて、等しい演算子 == をカスタマイズするには、__eq__ メソッドをクラス内で定義します。この特殊メソッドを実装することで、2つのオブジェクトが等しいかどうかを定義できます。
以下は、__eq__ メソッドを使って等しい演算子 == をカスタマイズする例です:
python
class MyClass: def __init__(self, value): self.value = value def __eq__(self, other): if isinstance(other, MyClass): return self.value == other.value return False # インスタンスを作成 obj1 = MyClass(5) obj2 = MyClass(5) obj3 = MyClass(10) # 等しい演算子を使用 print(obj1 == obj2) # 結果: True print(obj1 == obj3) # 結果: False
この例では、MyClass クラス内に __eq__ メソッドが定義され、2つの MyClass インスタンスが等しいかどうかを比較するために使用されます。obj1 == obj2 の演算が行われると、__eq__ メソッドが呼び出されて、それらのインスタンスの value 属性が等しいかどうかを比較します。
__eq__ メソッドは、カスタムクラスのオブジェクト同士を比較するために非常に便利です。他の比較演算子に対しても同様に、特殊メソッドを使用してカスタマイズできます。

ディスカッション
コメント一覧
まだ、コメントがありません