पायथन में ऑपरेटरों के अतिभारित व्यवहार को परिभाषित करने के लिए जादुई तरीके हैं। तुलना ऑपरेटरों (<, <=,>,>=, ==और !=) को __lt__, __le__, __gt__, __ge__, __eq__ और __ne__ जादू विधियों को परिभाषा प्रदान करके अतिभारित किया जा सकता है। निम्नलिखित कार्यक्रम दूरस्थ वर्ग की वस्तुओं की तुलना करने के लिए <और> ऑपरेटरों को ओवरलोड करता है।
class distance: def __init__(self, x=5,y=5): self.ft=x self.inch=y def __eq__(self, other): if self.ft==other.ft and self.inch==other.inch: return "both objects are equal" else: return "both objects are not equal" def __lt__(self, other): in1=self.ft*12+self.inch in2=other.ft*12+other.inch if in1<in2: return "first object smaller than other" else: return "first object not smaller than other" def __gt__(self, other): in1=self.ft*12+self.inch in2=other.ft*12+other.inch if in1<in2: return "first object greater than other" else: return "first object not greater than other" d1=distance(5,5) d2=distance() print (d1>d2) d3=distance() d4=distance(6,10) print (d1<d2) d5=distance(3,11) d6=distance() print(d5<d6)
परिणाम __lt__ और _gt__ जादू विधियों के कार्यान्वयन को दर्शाता है
first object not greater than other first object not smaller than other first object smaller than other