164 votes

Comment changer une variable de module d'un autre module?

Supposons que j'ai un package nommé bar , et qu'il contient bar.py :

 a = None

def foobar():
    print a

et __init__.py :

 from bar import a, foobar

Ensuite, j'exécute ce script:

 import bar

print bar.a
bar.a = 1
print bar.a
bar.foobar()

Voici ce que j'attends:

 None
1
1

Voici ce que j'obtiens:

 None
1
None

Quelqu'un peut-il expliquer mon idée fausse?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X