クラスの特殊メソッド 等しくない「!=」  __ne__

Pythonのクラスにおいて、等しくない演算子 != をカスタマイズするには、__ne__ メソッドをクラス内で定義します。この特殊メソッドを実装することで、2つのオブジェクトが等しくないかどうかを定義できます。

以下は、__ne__ メソッドを使って等しくない演算子 != をカスタマイズする例です:

python
class MyClass: def __init__(self, value): self.value = value def __ne__(self, other): if isinstance(other, MyClass): return self.value != other.value return True # インスタンスを作成 obj1 = MyClass(5) obj2 = MyClass(5) obj3 = MyClass(10) # 等しくない演算子を使用 print(obj1 != obj2) # 結果: False print(obj1 != obj3) # 結果: True

この例では、MyClass クラス内に __ne__ メソッドが定義され、2つの MyClass インスタンスが等しくないかどうかを比較するために使用されます。obj1 != obj2 の演算が行われると、__ne__ メソッドが呼び出されて、それらのインスタンスの value 属性が等しくないかどうかを比較します。

__ne__ メソッドは、カスタムクラスのオブジェクト同士を比較するために非常に便利です。他の比較演算子に対しても同様に、特殊メソッドを使用してカスタマイズできます。