【Python3.x】__class__::__ne__()メソッドの使い方
__ne__メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
__ne__メソッドは、Pythonにおいて二つのオブジェクトが「等しくない」ことを判定するために使用される特殊メソッドです。このメソッドは、Pythonの!=(不等号)演算子がオブジェクトに対して適用された際に、内部的に呼び出されます。
Pythonのすべてのオブジェクトは、デフォルトで組み込みのobjectクラスからこの__ne__メソッドを継承しています。標準の実装では、オブジェクトのメモリ上の識別情報(ID)を比較することで、異なるオブジェクトであればTrue、同じオブジェクトであればFalseを返します。
しかし、独自のクラスを定義する際には、この__ne__メソッドをオーバーライド(再定義)して、そのクラスのインスタンス間の不等比較の振る舞いをカスタマイズできます。例えば、オブジェクトが持つ特定の値や属性が一致しない場合に「等しくない」と判断するような、独自の比較ロジックを実装することが可能です。
通常、__eq__メソッド(等価性比較、==演算子に対応)を実装すると、__ne__メソッドは自動的にその逆の結果を返すように動作しますが、必要に応じて明示的に__ne__メソッドを実装することもできます。このメソッドは、プログラム内でオブジェクト間の関係性を柔軟に制御するために非常に重要な役割を果たします。
構文(syntax)
1class MyClass: 2 def __init__(self, value): 3 self.value = value 4 5 def __ne__(self, other): 6 return self.value != other.value
引数(parameters)
self, value, /
- self: 比較対象となるオブジェクト自身
- value: 比較する値
戻り値(return)
bool
このメソッドは、オブジェクトが自身と等しくない場合にTrueを、等しい場合にFalseを返します。