主文件
import try_modules
cats = 2
try_modules.printCats()
try_modules.py
def printCats():
global cats
print cats
这会引发错误。将主模块中的“伪全局”变量用于导入模块的正确方法是什么?
主文件
import try_modules
cats = 2
try_modules.printCats()
try_modules.py
def printCats():
global cats
print cats
这会引发错误。将主模块中的“伪全局”变量用于导入模块的正确方法是什么?
如果你有这个要求,这通常是一个糟糕的设计,但你可以这样做:
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
在所有模块之间共享。
您的 main.py 不知道变量 cat 属于哪个模块。采用
try_modules.cats = 2
或修复您的导入以读取
from try_modules import cats