मैं सिर्फ पोस्ट How can I assign a new class attribute via __dict__ in python? पढ़ने और था @bruno desthuilliers से एक टिप्पणी करते हुए कहा है कि वहाँ गया था:setattr (वस्तु, नाम, मूल्य) वस्तु बनाम .__ setattr __ (नाम, मूल्य)
एक सीधे जादू नहीं बुलाना चाहिए विधियों - वे यहां ऑपरेटरों या जेनेरिक कार्यों के कार्यान्वयन के रूप में हैं। इस मामले में, idiomatic समाधान
setattr(obj, name, value)
का उपयोग करना है।
सेटैटर का मामला अपनी टिप्पणी के दायरे से बाहर दिखता है: ऑपरेटर नहीं, वास्तव में जेनेरिक फ़ंक्शन का कार्यान्वयन नहीं।
कोई टिप्पणी को समझा सकता है? मुझे दूसरे पर क्यों पसंद करना चाहिए?
किस मामले में obj.__setattr__(name, value)
का उपयोग करना बेहतर है?
महान जवाब @Martijn धन्यवाद:
आप केवल कभी
__setattr__
सीधे कॉल करने के लिए जबsuper()
कॉल के माध्यम से अधिमानतः एक उपवर्ग को लागू करने, और उसके बाद की जरूरत है –