鱼C论坛

 找回密码
 立即注册
查看: 1944|回复: 4

[已解决]这个lambda是啥意思啊

[复制链接]
发表于 2023-8-22 19:47:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题:将下面这个闭包函数转换为 lambda 表达式的形式
请问lambda表示式是什么意思
>>> def maker(n):
...     def action(x):
...         return x ** n
...     return action
>>> f = maker(2)
>>> f(3)
9
>>> f(5)
25
求助
最佳答案
2023-8-22 19:47:56
Lambda表达式是一种匿名函数,可以简洁地定义一个函数并在需要的地方使用。在这个问题中,我们需要将闭包函数转换为lambda表达式。

下面是将闭包函数转换为lambda表达式的步骤:

1. 首先,我们需要确定lambda表达式的参数。在这个例子中,闭包函数的参数是x,因此我们的lambda表达式也应该有一个参数。

2. 然后,我们需要确定lambda表达式的函数体。闭包函数的函数体是 return x n ,所以我们的lambda表达式的函数体应该是 x n 。

最终,我们可以将闭包函数转换为lambda表达式如下:

f = lambda x: x ** n

在这个lambda表达式中,参数是x,函数体是 x ** n 。我们可以像使用闭包函数一样使用这个lambda表达式。

下面是使用lambda表达式的示例代码:
f = lambda x: x ** n
print(f(3))  # 输出9
print(f(5))  # 输出25

希望能帮到你!如果还有其他问题,请随时提问。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-22 19:47:56 | 显示全部楼层    本楼为最佳答案   
Lambda表达式是一种匿名函数,可以简洁地定义一个函数并在需要的地方使用。在这个问题中,我们需要将闭包函数转换为lambda表达式。

下面是将闭包函数转换为lambda表达式的步骤:

1. 首先,我们需要确定lambda表达式的参数。在这个例子中,闭包函数的参数是x,因此我们的lambda表达式也应该有一个参数。

2. 然后,我们需要确定lambda表达式的函数体。闭包函数的函数体是 return x n ,所以我们的lambda表达式的函数体应该是 x n 。

最终,我们可以将闭包函数转换为lambda表达式如下:

f = lambda x: x ** n

在这个lambda表达式中,参数是x,函数体是 x ** n 。我们可以像使用闭包函数一样使用这个lambda表达式。

下面是使用lambda表达式的示例代码:
f = lambda x: x ** n
print(f(3))  # 输出9
print(f(5))  # 输出25

希望能帮到你!如果还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-22 19:48:31 | 显示全部楼层
lambda表达式是一种匿名函数的方式,可以在Python中快速定义简单的函数。它的语法形式为lambda 参数列表: 表达式

将你提供的闭包函数转换为lambda表达式的形式如下:
maker = lambda n: lambda x: x ** n

f = maker(2)
print(f(3))  # 输出 9
print(f(5))  # 输出 25

在上述代码中,maker被转换为了一个lambda表达式。它接受一个参数n,并返回一个lambda表达式作为结果。这个lambda表达式也接受一个参数x,并计算x ** n的结果。

通过调用maker(2)得到返回的lambda表达式,然后可以像普通函数一样调用这个lambda表达式,比如f(3)f(5),分别输出9和25。

这样使用lambda表达式可以更加简洁地定义函数,并且适合于一些简单的函数功能。希望能够解答你的问题,如果还有其他疑问,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-8-22 20:06:43 | 显示全部楼层
陶远航 发表于 2023-8-22 19:48
lambda表达式是一种匿名函数的方式,可以在Python中快速定义简单的函数。它的语法形式为lambda 参数列表:  ...

为啥你有我地址,还把我地址发到这里啥意思啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-22 20:07:09 | 显示全部楼层
Lambda表达式(也叫做匿名函数),可以简洁地定义一个函数。
 def maker(n):
    return lambda x:x ** n
如果只是想将action()函数转变为lambda表达式,可以选用上面的代码
如果想将整个maker()函数转变为lambda表达式,可以选用下面的代码:
maker = lambda n:(lambda x:x ** n)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 21:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表