0

主文件

import try_modules
cats = 2
try_modules.printCats()

try_modules.py

def printCats():
    global cats
    print cats

这会引发错误。将主模块中的“伪全局”变量用于导入模块的正确方法是什么?

4

2 回答 2

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在所有模块之间共享。

于 2013-09-19T08:26:52.857 回答
0

您的 main.py 不知道变量 cat 属于哪个模块。采用

try_modules.cats = 2

或修复您的导入以读取

from try_modules import cats
于 2013-09-19T08:34:51.157 回答