main.py
import try_modules
cats = 2
try_modules.printCats()
try_modules.py
def printCats():
global cats
print cats
这会引发错误。从主模块到导入模块使用“伪全局”变量的正确方法是什么?
答案 0 :(得分:1)
如果你有这个要求,这通常是一个糟糕的设计,但你可以这样做:
import try_modules
try_modules.cats = 2
try_modules.printCats()
如果你有几个模块需要一个变量把它放在一个包含变量的模块中(我不认为应该使用它,你应该更改一个对象来保存变量):
module_a.py
import global_vars
global_vars.a = 23
module_b.py
import global_vars
print global_vars.a
global_vars.py
a = 37
和main.py
import module_a
import module_b
将打印23
,变量a
将在所有模块中共享。
答案 1 :(得分:0)
你的main.py不知道变量cat属于哪个模块。使用
try_modules.cats = 2
或修改您的导入以阅读
from try_modules import cats