#创作计划#Python中的lambda
2025-09-12 21:55:10
发布于:广东
全文源码仅1094字,渲染后更是有足足
9!5!6!
个字
导言
f = lambda x:1 if x == 1 else f(x-1)*x
f2 = lambda x:1 if x == 1 else f(x)+f2(x-1)
print(f2(int(input())))
这是A155的一个Python代码。
可以看到整段代码只有三行,使用了两个递归函数……等等,def
呢?
这坨长长的又是啥?
这就是这篇文章的主题:
lambda
函数
什么是lambda
函数
Python中的lambda
函数就是匿名函数。
lambda
函数只能有一行,不存在缩进结构。
如何使用lambda
函数
格式
lambda 参数列表 : 表达式
多个参数之间逗号分隔,如:lambda x, y : x + y
1
可以将lambda
函数存储为一个变量,使用传统函数调用。
f = lambda x:x**2
print(f(114))
输出12996
。
2
这才是原汁原味的
lambda
函数用法。
现有这样一个方法:
def solve(f,x):
return f(x)
如果想让这个方法返回,这是标准做法:
def solve(f,x):
return f(x)
def solve2(x):
return x**2
print(solve(solve2,10))
输出100
,恒河里。
但是这样太复杂了,假如我要让这个函数第一次输出第二次输出第三次输出……
所以,可以使用语法简便的lambda
处理这种简单的函数参数。
如下:(实现效果即第一次输出第二次输出第三次输出)
def solve(f,x):
return f(x)
def solve2(x):
return x**2
x = 10;
print(solve(lambda x:x**2,x))
print(solve(lambda x:x**x,x))
print(solve(lambda x:x+114514,x))
输出
100
10000000000
114524
符合我们的预期。
lambda
函数的特点
- 不需要写
return
,表达式的值就是返回值 - 匿名,定义简洁
- 仅单行
完
其实这篇很水,因为lambda
能讲的就那几个。
这里空空如也
有帮助,赞一个