3
fokus pada
0
Pengikut

Saya mempunyai masalah dengan pembolehubah global python Tolong bantu saya menyelesaikannya.

Dicipta dalam: 2021-09-08 14:20:01, dikemas kini pada: 2021-09-08 15:09:44
comments   6
hits   897

Saya mendapati satu masalah, mengapa saya kembalikan satu global variable kamus, dan apabila dipanggil semula, ia akan dilapisi, ah, kod di bawah, tiga baris nombor # itu secara logiknya dicetak juga 1, 2, 3, ah, tetapi ia sebenarnya dicetak 3, 3, 3 tidak dapat difahami. Ini adalah masalah yang saya dapati dalam percubaan semula, dan mendapati bahawa hasilnya dicetak sama, kemudian langkah demi langkah mencari akarnya di sini. Saya mengubah global variable menjadi lokal variable tidak ada masalah ini, tetapi saya ingin memahami mengapa ia tidak berfungsi, mohon jawapan yang besar. 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()

Kenapa saya cetak seperti ini? {‘one’: 3} {‘one’: 3} {‘one’: 3}