我在main()中有一个变量(var2),我想从导入模块中的函数访问它,而不将其作为参数传递。我尝试从module.py中导入vartest.py,我可以使用printFromModule2()函数访问var1(在main()之外),但不能访问var2。
我想我有两个问题:
非常感谢!
编辑:我已尝试在模块中导入vartest.py,并且可以访问vartest.var1,但不能访问vartest.var2或vartest.main.var2--但不确定其中第二个是否是有效的Python。
vartest.py:
import sys
import module
var1 = 'variable 1 in vartest.py'
def main():
var2 = 'variable 2 inside main'
print var1
print var2
print module.var3
module.printFromModule(var1)
module.printFromModule(var2)
module.printFromModule(module.var3)
module.printFromModule2()
if __name__ == "__main__": main()
module.py:
var3 = 'variable inside module'
def printFromModule(var_x1):
print ("module print: %s" % var_x1)
def printFromModule2():
print ("module print: %s" % var2)
答案 0 :(得分:0)
在玩了可能的import
选项之后,无论我做什么,我都无法让它工作。即使我将var2
设为全局变量,并使用from module import printFromModule2
将所有内容放入同一个全局命名空间,它也不适用于我。
不过,这不是一个好的编程方式。在大多数语言中使用不是特别需要的全局变量都是不受欢迎的,当你尝试在不同的模块中使用它们时,你会遇到麻烦。传递参数确实是最好的方法。