python中lambda()的用法
作者:mdxy-dxy 时间:2022-07-19 05:15:45
在C++11和C#中都有匿名函数的存在。下面看看在python中匿名函数的使用。
1.lambda只是一个表达式,函数体比def简单很多。
2.lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
3.lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。
例1.定义一个lambda表达式,求三个数的和
# -*- coding: UTF-8 -*-
f = lambda x,y,z:x + y + z
print f(1,2,3)
print f(4,5,6)
输出:
6
15
例2.用lambda表达式求n的阶乘
# -*- coding: UTF-8 -*-
n = 5
print reduce(lambda x,y:x*y,range(1,n+1))
输出:120
4.lambda表达式也可以用在def函数中
# -*- coding: UTF-8 -*-
def action(x):
return lambda y:x + y
a = action(2)
print a(22)
输出:24
这里定义了一个action函数,返回了一个lambda表达式。其中lambda表达式获取到了上层def作用域的变量名x的值。
a是action函数的返回值,a(22),即是调用了action返回的lambda表达式。
这里也可以把def直接写成lambda形式。如下
# -*- coding: UTF-8 -*-
b = lambda x:lambda y:x + y
a = b(3)
print a(2)
print (b(2))(2)
输出:
5
4
好了这篇文章就结束到这了,需要的朋友可以看下面的相关内容
标签:python,lambda
0
投稿
猜你喜欢
Python多线程的使用详情
2023-05-29 15:13:36
Window.ShowModalDialog使用手册
2008-02-24 14:42:00
Mysql 服务 1067 错误 的解决方法:修改mysql可执行文件路径
2024-01-27 04:06:09
如何在mac环境中用python处理protobuf
2021-02-26 08:42:06
Pytorch之finetune使用详解
2021-08-31 20:41:44
python next()和iter()函数原理解析
2023-04-05 21:58:50
pycharm中创建sql文件及模板的过程
2021-10-01 14:50:51
golang通过mysql语句实现分页查询
2024-01-23 13:30:03
用户研究角度看设计(1)“复制链接”的故事
2008-12-26 17:48:00
Vue中的Object.defineProperty全面理解
2024-05-29 22:44:02
Web页面空间利用率的思考
2009-07-03 12:45:00
Go语言基础结构体用法及示例详解
2024-04-25 15:11:34
Python文件时间操作步骤代码详解
2022-02-17 03:26:25
简单介绍Python中的round()方法
2023-05-01 11:57:10
网站登录持久化Cookie方案
2023-07-01 01:44:17
python-try-except:pass的用法及说明
2022-07-21 13:22:24
详解python的数字类型变量与其方法
2023-12-05 18:40:53
详解如何用模块化的方式写vuejs
2024-04-27 16:08:04
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2022-08-11 15:43:43
Bootstrap复选框和单选按钮美化插件(推荐)
2023-07-02 05:24:53