Python学习笔记010——匿名函数lambda
1 语法
my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1
arg1、arg2:参数
arg1 + arg2 + 1 :表达式
2 描述
匿名函数不需要return来返回值,表达式本身结果就是返回值。
lambda 仅简洁了代码,并不会提高程序运行效率
如果可以用 for...in...if 来完成的,最好不使用匿名函数lambda
使用lambda时,函数内不要包含循环、嵌套;如果存在,则最好使用def函数来完成,这样的代码可读性和复用性均较高
lambda用来编写简单的函数,而def用来处理更强大的任务。
3 示例
3.1 无参数的匿名函数
>>> a = lambda:5 >>> a <function <lambda> at 0x7f20f53be2f0> >>> a() 5 >>>
3.2 单个参数的匿名函数
a = lambda x:x+1 print(a(2))
运行: 3
3.3 多参数的匿名函数
a = lambda x, y: x + y + 1 print(a(1,2)) print(a(y=3,x=2))
运行:
4 6
3.4 其他
>>> lambda x:x+1(1) <function <lambda> at 0x7f20f4cfb9d8>
有的博客上说输入第一行可以直接得到结果,其实仅仅得到了匿名函数的地址(十六进制)
>>> lambda x:x+1(1) <function <lambda> at 0x7f20f4cfb9d8> >>> id(lambda x:x+1(1)) 139779554729768 >>> hex(id(lambda x:x+1(1))) '0x7f20f4cfb9d8'
如果需要获得函数值,则
>>> (lambda x:x+1)(1) 2
同样
print(lambda x:x+1(1)) # <function <lambda> at 0x7fa097b54f28>
计算
(lambda x : (lambda y: (lambda z: x + y + z)(1))(2))(3)
等于多少? 6
参考python的匿名函数lambda解释及用法,Python学习笔记(十二):lambda表达式与函数式编程,Python lambda介绍
Python学习笔记010——匿名函数lambda的更多相关文章
- python 学习笔记2 匿名函数
# 匿名函数 lambda a,b : a+b# a.j.from functools import reduce students = [{'name': '张三', 'age': 18, 'hei ...
- Python学习笔记之常用函数及说明
Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...
- 记录我的 python 学习历程-Day13 匿名函数、内置函数 II、闭包
一.匿名函数 以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数. 课上练习: # 正常函数: def func(a, b): return a + b print(func(4, 6)) ...
- 『Python基础-14』匿名函数 `lambda`
匿名函数和关键字lambda 匿名函数就是没有名称的函数,也就是不再使用def语句定义的函数 在Python中,如果要声匿名函数,则需要使用lambda关键字 使用lambda声明的匿名函数能接收任何 ...
- python学习笔记5-自定义函数
1 自定义函数 (1)函数代码块以def关键字开头,然后函数标识符名称和圆括号 (2)任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数 (3)函数的第一行语句可以选择性的使用文 ...
- python学习笔记12(函数三): 参数类型、递归、lambda函数
一.函数参数的类型 之前我们接触到的那种函数参数定义和传递方式叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,这个对参数的位置和个数都有严格的要求.而在Python中还有一种是通过参 ...
- python学习笔记4-内置函数、匿名函数、json处理
print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真 print(bin(10))#十 ...
- python 学习笔记6(函数)
函数 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 1.减少代码重复 2.保持代码的一致性 3.方便修改,可扩展性 函数的创建 #简单 ...
- Python学习笔记总结(二)函数和模块
一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句 例子 Calls myfunc(‘diege', ...
随机推荐
- freetds简介、安装、配置及使用介绍
什么是FreeTDS 简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS 是一个开源(如果你喜欢可以称为自由)的程序库,是TDS(表列数据流 )协议 ...
- 超级简单的jquery操作表格(添加/删除行、添加/删除列)
利用jquery给指定的table添加一行.删除一行 <script language="javascript" src="./jquery.js"> ...
- Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...
- sqoop安装部署(笔记)
sqoop是一个把关系型数据库数据抽向hadoop的工具.同时,也支持将hive.pig等查询的结果导入关系型数据库中存储.由于,笔者部署的hadoop版本是2.2.0,所以sqoop的版本是:sqo ...
- Roo中的@Version
首页 关于 Roo中的@Version 发表回复 问题提出 当我们为entity添加@RooJpaActiveRecord注解时,Roo为我们自动生成了一个名为Entity_Roo_Jpa_Entit ...
- Office安装错误1402的解决
Office软件是我们工作是必备的,为了统一公司的办工软件,要把所有的WPS和Office2003版本全部换顾Office2010.在Win7下安装Office2010一般都不会存在什么大的问题,但遇 ...
- 批量合并GDB
在实际操作中,经常对数据库文件进行合并.裁切等.如果遇到gdb比较多,要素层比较多,而且还存在数据集.虽然ArcGIS中的批量处理的功能,但填写参数过程也比较麻烦,如果一次性处理过多,程序容易停止工作 ...
- ZH奶酪:AngularJS判断checkbox/复选框是否选中并实时显示
最近做了一个选择标签的功能,把一些标签展示给用户,用户选择自己喜欢的标签,就类似我们在购物网站看到的那种过滤标签似的: 简单的效果如图所示: 首先看一下html代码: <!DOCTYPE htm ...
- ZH奶酪:putty远程登录Linux服务器非常慢
11.pytty远程登录Linux服务器非常慢 http://www.it165.net/os/html/201209/3425.html 12.启动SSHD服务报错 http://blog.chin ...
- nm 命令 程序符号信息查看
http://www.cnblogs.com/wangkangluo1/archive/2012/07/02/2572438.html 用途 显示关于对象文件.可执行文件以及对象文件库里的符号信息. ...