पायथन में हर क्लास, चाहे बिल्ट-इन हो या यूजर-डिफाइंड, object क्लास से विरासत में मिली होती है। object क्लास में कई प्रॉपर्टी होती हैं जिनके नाम डबल अंडरस्कोर (__) से शुरू और खत्म होते हैं। इनमें से प्रत्येक प्रॉपर्टी उसी नाम के मेथड के चारों ओर एक रैपर होती है। ऐसे मेथड को स्पेशल या मैजिक मेथड कहा जाता है।
मैजिक मेथड __lt__(), __gt__(), __eq__(), __ne__(), आदि को क्लास में ओवरराइड करके क्रमशः <, >, == और != ऑपरेटर को ओवरलोड किया जाता है।