Если предположить, что setup()
означает initialize()
, проблема в том, что переменная myObject
в initialize()
является локальной переменной, которая скрывает глобальную myObject
, а когда initialize()
возвращает, локальная переменная имя выйдет за рамки.
Чтобы обновить глобальную переменную myObject
, вам нужно изменить initialize()
следующим образом:
def initialize():
global myObject
... lots of initialization ...
myObject = foo.bar.SomeClass(init_variable)
Добавление оператора global
означает, что глобальный myObject
обновляется, а не локальный.