线程/进程中的全局变量[Python]

时间:2016-08-07 23:00:02

标签: python

我想知道是否有更好的方法可以做到这一点。我有一个运行“function_A”的脚本,并设置一些全局变量用于函数“work”。如果“function_A”失败,它将运行“function_B”,它将覆盖“function_A”中的全局​​变量并再次运行“work”函数。

以下是基本想法:

def function_A():
    global data
    global data1
    data = 5 
    data1 = 15
    if host == 1:
        work()
    else:
        function_B()

def function_B():
    global data
    global data1
    data = 3
    data1 = 13
    work()

def work():
    print data
    print data1

if __name__ == '__main__':
    host = 1
    function_A()

如果function_A没有失败,则输出示例:

test$ python test.py
5
15

如果function_A失败,则输出示例:

test$ python test.py
3
13

真正的脚本比这复杂得多,但我想确保没有更好的方法,我将使用多处理模块。

编辑:

谢谢,这是与参数传递相同的脚本:

def function_A():
    data = 5
    data1 = 15
    if host == 1:
        work(data, data1)
    else:
        function_B()

def function_B():
    data = 3
    data1 = 13
    work(data, data1)

def work(data,data1):
    print data
    print data1

if __name__ == '__main__':
    host = 11
    function_A()

0 个答案:

没有答案