下面的脚本工作正常,直到我添加了“def test”,我试图摆脱所有的全局变量我的编程总的来说,因为我不是一个伟大的程序员,我希望有一种方法可以做到这一点。将数据中间函数传递回函数Python
我想将“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()
也许一个Python教程会为你解决问题。你的代码有很多问题,甚至很难描述它们。 https://docs.python.org/3/tutorial/ – wroniasty