में वैश्विक चर को समझना वैश्विक चर का उपयोग करते समय पाइथन में एक अजीब समस्या आई। वैश्विक चर var
mod2
में परिभाषित संशोधित करने के लिए mod1.py
और mod2.py
पाइथन
mod1
की कोशिश करता:
मैं दो मॉड्यूल (फ़ाइलें) की है। लेकिन में mod2 और var
mod
में दो अलग-अलग चीजें प्रतीत होती हैं। इस प्रकार, परिणाम दिखाता है कि ऐसा संशोधन काम नहीं करता है।
#code for mod2.py
global var
var = 1
def fun_of_mod2():
print var
#code for mod1.py
from mod2 import var,fun_of_mod2
global var #commenting out this line yields the same result
var = 2 #I want to modify the value of var defined in mod2
fun_of_mod2() #but it prints: 1 instead of 2. Modification failed :-(
क्यों ऐसा होता है पर कोई संकेत:
यहाँ कोड है? और में mod2
में परिभाषित val
के मान को मैं कैसे संशोधित कर सकता हूं?
धन्यवाद
+1, लेकिन इस सवाल का पूरी तरह उत्तर देने के लिए आपको उल्लेख करना चाहिए कि 'वैश्विक' क्या करता है। ओपी की बड़ी समस्या गलतफहमी है जहां यह उपयोगी है। – lvc
अच्छी बात, इसके बारे में कुछ चीजें जोड़ीं। – kindall
धन्यवाद, मुझे लगता है कि मैं समझ गया। – xiaohan2012