def foo():
results = []
res = a + b
results.append(res)
res = a - b
results.append(res)
foo2()
def foo2():
res = c + d
results.append(res)
res = c - d
results.append(res)
给出错误“结果”不是全局变量。如何将“res”值附加到其他函数foo2()
的“结果”中答案 0 :(得分:0)
代码需要调用函数来获取任何结果。列表results
位于函数foo()
的范围内,但当我们从foo2()
调用函数foo()
时,foo2()
也需要知道results
1}}是,所以我们将results
列表作为参数传递给foo2()
。
由于我们要打印一个在函数中定义的变量(list results
),我们需要使用return
将该变量传递回调用函数。
一个完整的可运行示例:
# example values
a = 1
b = 2
c = 3
d = 4
def foo():
results = []
res = a + b
results.append(res)
res = a - b
results.append(res)
return foo2(results) # pass results as an argument to other function
def foo2(results):
""" this function receives results parameter """
res = c + d
results.append(res)
res = c - d
results.append(res)
return results
result = foo()
print result # [3, -1, 7, -1]