How to access inner variable of a function and change its value in python? -


  & gt; & gt; & gt; Def नाइल (): ... एसएस = 'शून्य' ... प्रिंट एसएस ... & gt; & gt; & gt; शून्य () शून्य & gt; & gt; & gt; Nil.ss = 'kk' & gt; & gt; & gt; शून्य () शून्य & gt; & gt; & gt; प्रिंट nil.ss kk   

मुझे पता है कि सब कुछ अजगर में एक ऑब्जेक्ट है, इसलिए फंक्शन भी एक ऑब्जेक्ट है, अब मैं 'ss' वैरिएबल का मान बदलना चाहता हूं, जो फ़ंक्शन में संग्रहीत है, अब मैंने अपने मूल्य को नाइल.एसएस का उपयोग करके बदलने की कोशिश की, लेकिन इसे बदल नहीं पाया .. क्या दोनों 'ss' के बीच अंतर है?

पहले ss फ़ंक्शन के एक आंतरिक चर है; दूसरा, फ़ंक्शन का एक विशेषता है। वे एक ही वस्तु का संदर्भ नहीं देते हैं।

यहां ऐसा करने का एक तरीका है, हालांकि:

  & gt; & gt; & gt; Def सेब (): यदि हेटट्रर (सेब, एस एस ') नहीं है: # इस तरह यह केवल फ़ंक्शन के अंदर ही सेट किया जाएगा, जब एक बार apple.ss =' ​​nil 'return apple.ss> gt; & gt; & gt; सेब () 'निल' & gt; & gt; & gt; Apple.ss 'निल' & gt; & gt; & gt; Apple.ss = 'kk' & gt; & gt; & gt; Apple.ss 'kk' & gt; & gt; & gt; सेब () 'केके'    

Comments