使用一个函数的输出作为另一个函数的输入

问题描述

假设我具有这样的功能

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)