>>> class foo(object):
... def test(s):
... pass
...
>>> a=foo()
>>> a.test is a.test
False
>>> print a.test
<bound method foo.test of <__main__.foo object at 0x1962b90>>
>>> print a.test
<bound method foo.test of <__main__.foo object at 0x1962b90>>
>>> hash(a.test)
28808
>>> hash(a.test)
28808
>>> id(a.test)
27940656
>>> id(a.test)
27940656
>>> b = a.test
>>> b is b
True
उत्तर
वे रनटाइम पर बाध्य हैं; ऑब्जेक्ट पर विशेषता का उपयोग हर बार विधि को फिर से शुरू करता है। जब आप दोनों एक ही पंक्ति में डालते हैं तो वे अलग होते हैं कि दूसरी विधि बाध्य होने तक पहली विधि जारी नहीं की जाती है।
अलग-अलग रखें, 'id' प्रत्येक बार समान लगता है क्योंकि पिछला उदाहरण परिणाम मुद्रित होने के तुरंत बाद gc'd है, और सीपीथॉन के उस विशेष संस्करण में मेमोरी प्रबंधन अगले ऑब्जेक्ट को उसी में रखने के लिए पर्याप्त अनुमानित होता है जगह। – delnan
हाहा यह मेरे साथ कभी नहीं हुआ जीसी एक ही योजक पर इसे स्थानांतरित कर देगा। धन्यवाद यह सब समझ में आता है। –
मुझे खेद है, क्या? – Mat