如何声明对导入的模块函数可见的全局变量

时间:2014-08-26 03:22:39

标签: python

在导入的.py模块中声明的任何global变量仍然是其自身模块中的全局“内部”,并且它是一个脚本或导入该模块的程序中的全局“内部”(使用Python {{ 1}}命令)。 现在,如果在导入模块import之后,我声明了一个全局变量X。我想为导入的模块Y中定义的函数创建变量Y“visible”或global(因此我不必将X传递给导入的模块函数,因为参数)?

要导入“myModule.py”:

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()

1 个答案:

答案 0 :(得分:3)

函数printXvariableX中查找全局myModule。那是你应该声明你的变量的地方:

import myModule as myModule
myModule.printY()
print myModule.variableY

myModule.variableX = 10
print myModule.variableX

myModule.printX()