3
집중하다
0
수행원

파이썬 전역 변수에 문제가 있습니다. 해결해 주세요.

만든 날짜: 2021-09-08 14:20:01, 업데이트 날짜: 2021-09-08 15:09:44
comments   6
hits   897

저는 왜 제가 사전의 범용 변수를 반환하고, 다시 호출하면 변수가 덮여지는지 궁금했습니다. 아, 코드는 아래에요. #라는 세 줄은 논리적으로도 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}