gpt4 book ai didi

Python 将值传递给返回语句函数

转载 作者:行者123 更新时间:2023-11-28 22:53:39 25 4
gpt4 key购买 nike

首先,对于令人困惑的标题感到抱歉,但这是我能想到的描述它的唯一方式。我最近收到的一篇类(class)作业问了一个问题,即定义一个带有一个参数 (x) 的函数,该函数返回另一个带有一个参数 (y) 的函数,该函数本身将返回 x*y。我们被要求使用普通函数或 lambda 写出来,我选择了 lamdas,这样写:

def create_multiplier (x):
return lambda y: y * x

input1 = int(raw_input("Please enter your initial number for our multiplier"))
multi = create_multiplier(input1)
input2 = int(raw_input("Please enter your second number for our multiplier"))
print input1, " times by ", input2, " = " ,multi(input2)

但是我现在很好奇他们如何期望我们只用函数来实现它,最初我认为也许你会在第一个函数中将你的第一个数字传递给 x,然后将一个数字也传递给我们的第二个函数 y,并且因为我们在第一个函数中返回第二个函数,所以我们可以像嵌套变量一样使用 x。很快就被击落了

我知道如果你不愿意回复,因为这是类(class)作业,但这让我很好奇你是如何在不在 lambda 中预设我们的 x 的情况下实现它的,也许我只是奇怪地看着它,它公然明显的。谢谢你的回复

最佳答案

lambda 只是一个烦人的 ;-) 编写函数 (def) 的快捷方式。所以,例如,

def create_multiplier(x):
def inner_function(y):
return x*y
return inner_function

做同样的事情。

后来:不是完全同一件事。您的 lambda 实际上返回 y*x,而不是 x*y ;-)

关于Python 将值传递给返回语句函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19204010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com