میں نے ایک سوال پایا، کیوں میں نے ایک لغت عالمی متغیر کو واپس کیا، اور جب اسے دوبارہ بلایا گیا تو، متغیر کا احاطہ کیا گیا تھا، کوڈ نیچے ہے، # نمبر والی تین لائنوں کو اصولی طور پر پرنٹ کیا جانا چاہئے تھا، لیکن اصل میں پرنٹ کیا گیا تھا 3، 3، 3، 3، سمجھ میں نہیں آیا۔ یہ وہ مسئلہ ہے جو میں نے ریٹرننگ میں پایا، اور پایا کہ نتائج پرنٹ کیے گئے تھے، اور پھر قدم بہ قدم اس کی جڑ کو تلاش کیا گیا یہاں۔ میں نے عالمی متغیر کو مقامی متغیر میں تبدیل کیا تو یہ مسئلہ نہیں تھا، لیکن میں یہ سمجھنا چاہتا تھا کہ ایسا کیوں نہیں ہوتا، برائے مہربانی جواب دیں۔
def fun(a):
dict_zz['one'] = a
return dict_zz
def main():
params()
dict_zz_15min = fun(1)
dict_zz_1h = fun(2)
dict_zz_4h = fun(3)
print(dict_zz_15min) #
print(dict_zz_1h) #
print(dict_zz_4h) #
def params():
global dict_zz
dict_zz = {}
main()
میں نے اسے اس طرح کیوں لکھا؟
{'one': 3}
{'one': 3}
{'one': 3}
不是key的问题吧,我全局变量换成局部变量就没问题的啊,像这样key不也覆盖的吗?
def fun(a):
dict_zz = {}
dict_zz['one'] = a
return dict_zz
def main():
dict_zz_15min = fun(1)
dict_zz_1h = fun(2)
dict_zz_4h = fun(3)
print(dict_zz_15min)
print(dict_zz_1h)
print(dict_zz_4h)
main()
- 1
