在导入的.py模块中声明的任何global
变量仍然是其自身模块中的全局“内部”,并且它是一个脚本或导入该模块的程序中的全局“内部”(使用Python {{ 1}}命令)。
现在,如果在导入模块import
之后,我声明了一个全局变量X
。我想为导入的模块Y
中定义的函数创建变量Y“visible”或global
(因此我不必将X
传递给导入的模块函数,因为参数)?
Y
def printX():
print variableX
def printY():
global variableY
variableY='y'
print variableY
import myModule as myModule
myModule.printY()
print myModule.variableY
global variableX
variableX='X'
print variableX
myModule.printX() # this will result to NameError
结果为:
myModule.printX()
答案 0 :(得分:3)
函数printX
在variableX
中查找全局myModule
。那是你应该声明你的变量的地方:
import myModule as myModule
myModule.printY()
print myModule.variableY
myModule.variableX = 10
print myModule.variableX
myModule.printX()