Код: Выделить всё
# test2.py
var2 = "foo"
def update(str):
global var2
var2 = str
def retrieve():
return var2
Код: Выделить всё
# test1.py
from test2 import *
print(var2) # >> foo
update("toto")
print(var2) # >> foo
print(retrieve()) # >> toto
Но в test1.py У меня не определен var2, поэтому он не должен ничего заменять. Но мне все равно кажется, что она фактически дублирует мою переменную, что объясняет, почему второй print(var2) не меняет свой вывод.
Итак, если кажется, что он копирует общедоступные определения, почему он также не «дублирует» метод update?
Мне остается неясным, как он работает, и мне хотелось бы по-настоящему понять, что происходит?
Подробнее здесь: https://stackoverflow.com/questions/788 ... t-behavior