【问题标题】:How to use output for one function as parameter for another如何将一个函数的输出用作另一个函数的参数
【发布时间】:2019-02-17 18:25:15
【问题描述】:

我正在尝试处理一个文件,我有两个函数 a 和 b。

假设一个是:

def A(num1,num2):
    num3 = num1 + num2

def B(num3,num4):
    num5 = num3*num4

我将如何使用 A(num3) 的输出并在 B 中使用它?

【问题讨论】:

  • 你可以试试def B(num3=A(num1,num2),num4):,你需要把return num3放在你的A函数中
  • 添加return语句,让你的函数返回计算结果

标签: python python-3.x function parameters


【解决方案1】:

首先,您需要您的函数返回 值。目前A() 只是在计算num1 + num2 的值,而不用它做任何事情。如果你想让它传回答案,你必须在它的末尾添加一个 return 语句:

def A(num1,num2):
    num3 = num1 + num2
    return num3

接下来,如果您想将该函数的结果传递给函数B,您可以这样做:

...
some_var = B(A(num1, num2), num4)
...

看,它的工作原理与在其他任何地方调用函数相同,只是它位于括号内,并且与您可能放置变量的位置相同。

【讨论】:

  • 您需要将返回值分配给B 内的num3,因为num3 现在是A 的本地对象
  • @Bazingaa 正如现在定义的那样,当调用B 时会发生该赋值,因为它的第一个参数名为num3
【解决方案2】:

1) 返回函数 A 的输出。

def A(num1,num2):
    num3 = num1+num2
    return num3

2) 调用函数 A 时,将结果存储在另一个变量中。

result = A(12,14)

变量结果现在将包含 (num1+num2) 的值。我们将把它作为参数传递给函数 B。

3) 当调用函数 B 时,代替 num3,传递存储在 'result' 中的值。第二个参数可以是任意数字。

B(result,11)

【讨论】:

    【解决方案3】:

    您要寻找的是“回报” 基本上它允许你的函数提供一个你以后可以使用的输出。

    例如:

    num1 = 1
    num2 = 2
    
    def a(num1, num2):
        return num1 + num2
    
    def b(num3,num4):
        return num3*num4
    
    num3 = a(num1, num2)
    num5 = b(num3, num2)
    

    一般来说,这是非常基本的,不是很好的代码实践,因为我不知道您要解决什么问题。更多信息可能有助于为您的问题编写更好地使用代码:) 除了演示在这种情况下的返回之外,我实际上不会使用此代码 就像你知道的那样,虽然定义一个函数在你调用它之前实际上并没有做任何事情,所以你给它赋予相同的名称这一事实不会以任何方式绑定实际值。

    无论如何,我建议您阅读有关 python 基础知识的更多信息。祝你好运!

    【讨论】:

      猜你喜欢
      • 2022-12-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2016-02-07
      • 2018-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多