假设我有这样的功能。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
1 回答
![?](http://img1.sycdn.imooc.com/54584cb50001e5b302200220-100-100.jpg)
江户川乱折腾
TA贡献1851条经验 获得超5个赞
只需使用返回值作为参数
这是一个例子:
def funcA(x):
return x
def funcB(y):
return y
#pass to function
funcB(funcA(1))
#store to variables
z = funcA(1)
以下是它如何适用于您的案例:
首先,您只能从中获取一个值,因为 a 不能同时小于和大于 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]
添加回答
举报
0/150
提交
取消