用另一个文件中的函数修改全局变量

时间:2018-11-18 02:16:39

标签: python

我正在尝试通过将全局变量传递给另一个文件中的函数来修改它,但是它不起作用:

文件一:

from file_two import changeVar

globalVar = "none"

while True:
    move = input("enter command: ").lower().split() 
    if move[0] == "change":
        changeVar(globalVar)
        print(globalVar)

文件二:

def changeVar(globalVar):
    globalVar = "some"

我尝试在函数中使用global,但我也无法正常工作。我还读到创建第三个文件只是为了承载全局变量可能会奏效,但这似乎并不理想。更令人困惑的是,我的函数文件中的一个函数实际上似乎确实在更新主文件中的全局变量。

我采用错误的方法来实现自己的追求吗?

1 个答案:

答案 0 :(得分:0)

修改文件2中的函数以返回globalVar,然后将该函数的输出分配给文件1中的变量。

文件1:

while True:
    move = input("enter command: ").lower().split() 
    if move[0] == "change":
        globalVar = changeVar(globalVar)
        print(globalVar)

文件2:

def changeVar(globalVar):
    globalVar = "some"
    return globalVar