Я обнаружил проблему, почему я возвращаю глобальную переменную словаря, а когда я вызываю ее, она покрывается, ну, код ниже, три строки с # должны были быть напечатаны как 1, 2, 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
