python - Why doesn't setter get called when using property() function? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 1 उत्तर

मेरे पास निम्न सरल अजगर है क्लास जो कि प्रॉपर्टी फ़ंक्शन:

  वर्ग MyClass (): def get_my_var (स्वयं) का उपयोग कर एक गेटर और सेटर को परिभाषित करता है: "get_my_var ()" प्रिंट में "def Set_my_var (स्वयं, मान): "set_my_var () में" my_var = property (get_my_var, set_my_var) वापस करें  

जब मैं इस वर्ग को इन्स्ताइज़ करता हूँ और भोला आदमी का उपयोग करता है तो यह अपेक्षित रूप से ठीक काम करता है:

  & gt; & gt; & gt; X = माइक्लास ()> & gt; & gt; & gt; प्रिंट "x.my_var =% s"% x.my_var में get_my_var () x.my_var = कोई नहीं  

हालांकि, जब मैं तब सेटर का उपयोग करने की कोशिश करता हूं, ऐसा प्रतीत होता है बुलाया सेटर के भीतर से प्रिंट स्टेटमेंट कभी आग लगती नहीं है:

  & gt; & gt; & gt; प्रिंट करने के बारे में 'x.my_var = 5' "करने के बारे में 'x.my_var = 5' & gt; & gt; & gt; X.my_var = 5> gt; & gt; & gt;  

प्राप्तकर्ता काम करता है, लेकिन सेटर क्यों नहीं? क्यों कोई त्रुटि नहीं है? और मैं कैसे सेटर को काम के रूप में प्राप्त करूं?

गुण नई शैली वर्गों को ठीक से काम करने के लिए। वस्तु से वारिस करने के लिए मत भूलना!

  वर्ग MyClass (ऑब्जेक्ट): #! ...  

Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -