问题描述
假设我具有这样的功能。
def funA(a,b):
if a>5:
c=a+b
if a<5:
c=a-b
return c
那么我可以在另一个这样的函数中使用变量C吗?这是正确的方法吗?
def fun(foo)
if foo>5:
foo +=c
return foo
解决方法
只需将返回值用作参数
这里是一个例子:
def funcA(x):
return x
def funcB(y):
return y
#pass to function
funcB(funcA(1))
#store to variables
z = funcA(1)
此处将其应用于您的案例:
首先,您将只能从中获得一个值,因为同时不能小于和大于5,因此我将修改该函数以将两个值都作为一个元组给您提供
>def funA(a,b):
return (a+b,a-b)
def funB(c,d):
print(c,d)
funB(funA(1,2)[0],funA(1,2)[1])
如果仔细观察,funA
将返回这些值的元组,以便您可以使用它们的index
来访问每个值;第一个索引为0,第二个索引为1,因此:funA(1,2)[0]
和funA(1,2)[1]
返回值,然后可以将函数调用的结果存储在变量中,然后再次使用它。一个非常简短的例子。您可能应该去做python入门课程。
def add(a,b):
return a + b
def mult(a,b):
return a * b
def add_and_mult(a,b):
added = add(a,b)
multed = mult(a,b)
return add(added,multed)