下面的脚本工作正常,直到我添加“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)
