Python3 では、functools.total_ordering デコレーター__lt__を使用すると、オーバーロードのみを行い__eq__、6 つの比較演算子すべてを取得できます。
__le__1つ、つまりorで十分な場合に2つの演算子を記述しなければならない理由がわかりません。__ge__他のすべての演算子はそれに応じて定義されます。
a < b <=> not (b <= a)
a > b <=> not (a <= b)
a == b <=> (a <= b) and (b <= a)
a != b <=> (a <= b) xor (b <= a)
それは単に xor 演算子がネイティブに存在しないからですか?