पायथन 2.7 में, मैं एक खाली नई शैली की कक्षा को परिभाषित करता हूं:पायथन: डिफ़ॉल्ट तुलना
In [43]: class C(object): pass
....:
फिर नई कक्षा के उदाहरणों की एक सूची बनाएं:
In [44]: c = [C() for i in xrange(10)]
फिर सूची को क्रमबद्ध करने का प्रयास करें:
In [45]: sorted(c)
Out[45]:
[<__main__.C object at 0x1950a490>,
<__main__.C object at 0x1950a4d0>,
...
<__main__.C object at 0x1950aad0>]
आश्चर्य की बात यह है कि सॉर्ट शिकायत नहीं करता है, भले ही मैंने C
के उदाहरणों की तुलना करने के लिए कोई तरीका परिभाषित नहीं किया है:
In [46]: dir(C())
Out[46]:
['__class__',
'__delattr__',
'__dict__',
'__doc__',
'__format__',
'__getattribute__',
'__hash__',
'__init__',
'__module__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'__weakref__']
वास्तव में क्या हो रहा है, और इसके लिए तर्क क्या है - - तर्कसंगत आश्चर्यजनक - व्यवहार?
(+1)। – NPE
+1, आप अपनी टिप्पणी में पूरी तरह से सही थे, मैं दो ऑब्जेक्ट और अन्य तुलना ऑपरेटर की समानता से गुमराह था, मेरी गलती को जानने के लिए धन्यवाद – mouad
अपडेट किया गया लिंक http://docs.python.org/reference/expressions.html #अंदर नही –