Skip to main content
 首页 » 编程设计

python之将数据中间函数传递回函数 Python

2025年05月04日16bluestorm

下面的脚本工作正常,直到我添加“def test”,我试图摆脱我的编程中的所有全局变量,因为我不是一个伟大的程序员,我希望有一种方法可以做到这。

我想将“foo”从函数“test”传递回函数“work”,但这不起作用,因为它不是全局变量。有什么想法吗?

bar = "bar" 
barnone = "barnone" 
 
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) 
    test(data) 
    print foo 
 
def work(data,data1): 
    print data 
    print data1 
    test(data) 
    print foo 
 
def test(data): 
    if data == 3:foo = bar 
    elif data == 5:foo = barnone 
 
if __name__ == '__main__': 
    host = 11 
    function_A() 

编辑:

谢谢,这行得通...感谢所有反馈,因为我是新手,请记住,这只是我放在一起以了解将参数传递给不同函数的测试脚本。在此之前,我一直在使用全局变量,我正试图摆脱它们。

谢谢,任何建议都有帮助。

bar = "bar" 
barnone = "barnone" 
 
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) 
    test(data) 
 
def work(data,data1): 
    print data 
    print data1 
    test(data) 
    print test(data) 
 
def test(data): 
    if data == 3:foo = bar 
    elif data == 5:foo = barnone 
    return foo 
 
if __name__ == '__main__': 
    host = 11 
    function_A() 

请您参考如下方法:

将以下内容添加到 test() 函数的末尾:

`return foo` 

然后你可以像这样在 work() 中打印变量

print test(data)