Tôi thấy một vấn đề, tại sao tôi trả về một biến toàn cầu từ từ điển, và khi gọi lại, biến sẽ bị che phủ, mã ở dưới đây, ba dòng số # theo lý thuyết cũng nên được in ra là 1, 2, 3, nhưng thực tế được in ra là 3, 3, 3, không hiểu. Đây là vấn đề mà tôi thấy trong lần kiểm tra lại, phát hiện ra kết quả được in ra đều giống nhau, sau đó tìm ra nguồn gốc từng bước và tìm ra nó ở đây. 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()
Tại sao tôi lại in như thế này? {‘one’: 3} {‘one’: 3} {‘one’: 3}