Почему я не могу изменять глобальные переменные внутри функции, используя exec()? Он отлично работает, когда оператор присваивания находится вне exec(). Вот пример моей проблемы:
>>> myvar = 'test' >>> def myfunc(): ... global myvar ... exec('myvar = "changed!"') ... print(myvar) ... >>> myfunc() test >>> print(myvar) test