3
focar em
0
Seguidores

Tenho um problema com variáveis ​​globais do Python. Por favor, me ajude a resolver.

Criado em: 2021-09-08 14:20:01, atualizado em: 2021-09-08 15:09:44
comments   6
hits   897

Eu encontrei uma questão, por que eu retorno um dicionário global variável, e quando a chamada, a variável será coberto ah, o código está abaixo, o número de três linhas que, em teoria, deveria ser impresso também 1, 2, 3, ah, mas na verdade foi impresso 3, 3, 3 confuso. Este é o problema que eu encontrei no teste de retorno, descobriu que os resultados foram impressos todos iguais, em seguida, passo a passo para encontrar a raiz e descobrir aqui. Eu mudei a variável global para variável local não tem esse problema, mas eu quero entender por que isso não funciona, por favor, me ajude. 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()

Porque é que eu imprimi isto? {‘one’: 3} {‘one’: 3} {‘one’: 3}