मैं उस वर्ग ऑब्जेक्ट के लिए एक पाइथन क्लास ऑब्जेक्ट को __name__
विशेषता के बीच रिश्ते को समझने की कोशिश कर रहा हूं। उदाहरण के लिए:पायथन क्लास वेरिएबल नाम बनाम __name__
In [1]: class Foo(object):
...: pass
...:
In [2]: Foo.__name__ = 'Bar'
In [3]: Foo.__name__
Out[3]: 'Bar'
In [4]: Foo
Out[4]: __main__.Bar
In [5]: Bar
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-5-962d3beb4fd6> in <module>()
----> 1 Bar
NameError: name 'Bar' is not defined
तो ऐसा लगता है जैसे मैं वर्ग के __name__
विशेषता को बदल दिया है, लेकिन मैं उस नाम से यह उल्लेख करने के लिए नहीं कर सकते। मुझे पता है कि यह थोड़ा सामान्य है लेकिन क्या कोई Foo
और Foo.__name__
के बीच संबंधों को समझा सकता है?
हालांकि यह आपके प्रश्न का सीधे जवाब नहीं देता है, मैं सुझाव देता हूं कि नेड बैटचेल्डर्स [पाइथन नामों और मूल्यों के बारे में तथ्यों और मिथकों को पढ़ना] (http://nedbatchelder.com/text/names.html)। मुझे लगता है कि आप इसे पढ़ने के बाद अपने स्वयं के प्रश्न का उत्तर देने में सक्षम होंगे। –
सभी को धन्यवाद, बहुत उपयोगी जानकारी। – ACV