पायथन 3 में, functools.total_ordering decorator सभी 6 तुलना ऑपरेटर प्राप्त करने के लिए केवल __lt__
और __eq__
को अधिभारित करने की अनुमति देता है।पायथन कुल_ऑर्डिंग: क्यों __lt__ और __eq__ __le__ के बजाय?
मैं नहीं मिलता है क्यों एक से दो ऑपरेटरों लिखने के लिए जब एक, पर्याप्त होगा अर्थात् __le__
या __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 ऑपरेटर नहीं है कि मूल रूप से मौजूद है?
'xor' मूल रूप से मौजूद है। –
@MartijnPieters केवल bitwise xor, है ना? –