洗礼灵魂,修炼python(24)--自定义函数(5)—匿名函数lambda
在这个互联网时代,大家都喜欢匿名,匿名上网,匿名登录,匿名操作等等,都不喜欢实名对吧?(虽然说现在实名制已经快到来,题外话,扯远了),当然python里也有个不喜欢实名的,它的功效优点特殊,说强大吧?它也有限制,说没什么用吧?它又能干很多事,它就是匿名函数
匿名函数:lambda
1.什么是匿名函数:
其实前面也提到一点点,就是不需要使用def 来定义函数,而是在用的时候直接定义,然后用完则完(不过你一个赋值给一个变量,下面有提到),在前面使用sorted函数为列表排序就使用过lambda了,自己倒回去看看或者看下面的6
2.作用:
- 使用lambda可以省下定义函数过程
- 不需要考虑命名的问题
- 简化代码的可读性
3.格式:
lambda args:expression
- args:以逗号分隔的参数列表
- expression:用到args中各个参数的表达式
例:

但是像这样是错的,注意了:

4.注意:
1):lambda其实就是一个表达式,没有名字,调用时赋值一个变量使用其变量名
2):lambda是一个单个的表达式,而不是一个代码块(比如for,while循环,if语句等就是一个代码块)
3):lambda语句定义的代码必须是合法的表达式,不能出现多条件语句(但可以使用if 的三元表达式)和其他非表达式语句(如for和while等)
4):lambda的首要用途是指定短小的回调函数
5):lambda将返回一个函数而不是将函数赋值给某变量
5.lambda和def的区别:
1):lambda会创建一个匿名的函数对象,但不会把这个函数对象赋给一个标识符,python lambda只是一个表达式。
2):def 创建函数,其函数时有名称的,会把函数对象赋值给一个变量,def是一个语句
3):def语句不能出现在列表内,比如:

但是lambda可以:

这里要注意,list1还是一个列表,list1[0]才是一个匿名函数
4):匿名函数只能有一个表达式,输出为表达式的结果,这是它的优点也是它的限制
6.lambda经典运用:
1):对集合a以元组第二个元素从小小大排序:

2):对集合a以元组第一个元素顺序从小到大排序:

3):对集合a以元组第一个元素从大到小排序:

lambda可以对元组进行排序,上面已经使用了,也可以对字典进行排序,方法同样的,此处略过,自己尝试了
7.匿名函数仅支持if的三元表达式:

8.匿名函数也支持列表解析(列表推导式):

既然支持列表推导式,那么也得遵循列表规则,这里使用索引5访问元素时,已经超出原有索引值
下一章将说到匿名函数进阶话题,虽然很简单,但是真的很实用
洗礼灵魂,修炼python(24)--自定义函数(5)—匿名函数lambda的更多相关文章
- Python中的高阶函数与匿名函数
Python中的高阶函数与匿名函数 高阶函数 高阶函数就是把函数当做参数传递的一种函数.其与C#中的委托有点相似,个人认为. def add(x,y,f): return f( x)+ f( y) p ...
- Python核心技术与实战——八|匿名函数
今天我们来学习一下匿名函数.在学习了上一节的自定义函数后,是时候了解一下匿名函数了.他们往往非常简短,就一行,而且有个关键字:lambda.这就是弥明函数. 一.匿名函数基础 匿名函数的基本格式是这样 ...
- python——内置函数和匿名函数
内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这 ...
- python(day16)内置函数,匿名函数
# add = lambda x,y:x+y # print(add(1,2)) # dic={'k1':10,'k2':100,'k3':30} # def func(key): # return ...
- Python内置函数之匿名(lambda)函数
Python内置函数之匿名(lambda)函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数 #!/usr/bin/env python #_*_coding:utf ...
- python全栈开发之匿名函数和递归函数
python 匿名函数和递归函数 python全栈开发,匿名函数,递归函数 匿名函数 lambda函数也叫匿名函数,即函数没有具体的名称.是为了解决一些功能很简单需求而设计的一句话函数.如下: #这段 ...
- python之内置函数,匿名函数
什么是内置函数? 就是Python给你提供的,拿来直接用的函数,比如print,input等等.其实就是我们在创建.py的时候python解释器所自动生成的内置的函数,就好比我们之前所学的作用空间 内 ...
- python函数式编程之返回函数、匿名函数、装饰器、偏函数学习
python函数式编程之返回函数 高阶函数处理可以接受函数作为参数外,还可以把函数作为结果值返回. 函数作为返回值 def laxy_sum(*args): def sum(): ax = 0; fo ...
- python 基础 4.3 高阶函数下和匿名函数
一 .匿名函数 顾名思议就是没有名字的函数,那为什么要设立匿名函数,他有什么作用呢?lambda 函数就是一种快速定义单行的最小函数,可以用在任何需要函数的地方. 常规版: def fun(x,y ...
- python之路——内置函数和匿名函数
阅读目录 楔子 内置函数 匿名函数 本章小结 楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们 ...
随机推荐
- vue elementui 引入第三方icon iconfront
elementui框架自带icon在开发大型前端应用时显得捉襟见肘.淘宝开源的iconfront的图标库上有很多优秀的icon图标.elementui支持整合iconfront到应用中,步骤如下: 首 ...
- Python模块学习 - Paramiko
简介 ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography). 有了Paramiko以后,我们就可以在Py ...
- jquery选择器和属性
jQuery的选择器 <html lang="en"> <head> <meta charset="UTF-8"> < ...
- 小程序flex容器
flex:默认:水平方向是主轴,垂直方向是交叉轴,分布在第四象限,项目时在主轴方向上排列, 排满之后在交叉轴方向上换行: 1.设置容器的属性 display:flex 通过设置坐标轴来设置项目的排列方 ...
- [java初探总结篇]__java初探总结
前言 终于,java初探系列的学习,要告一阶段了,java初探系列在我的计划中是从头学java中的第一个阶段,知识主要涉及java的基础知识,所以在笔记上实在花了不少的功夫.虽然是在第一阶段上面花费了 ...
- A brief introduction to per-cpu variables
墙外通道:http://thinkiii.blogspot.com/2014/05/a-brief-introduction-to-per-cpu.html per-cpu variables are ...
- 一篇极好的Git 总结
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯工蜂发表于云+社区专栏 常用命令 简单的,常用的命令也就几个.但是想非常熟练使用,怕是要记住几十个. Workspace:工作区( ...
- Idea 编写 Spark 示例代码并打包成Jar
说明:本人是在Linux下搭建的单机Spark环境,也是在Linux下使用Idea14.02进行代码编辑 1. 打开IDEA,在欢迎界面从右下角的Configure -> Plugins进入,安 ...
- 微信小程序 - 入门指引
稍微整了整微信小程序,还是有不少问题的,做个小总结吧 和以往一样,本次项目也放到了 Github 中,欢迎围观 star ~ 一.微信公众平台 - 小程序后台 1.申请小程序账号 官网注册 注册时所用 ...
- Java设计模式学习记录-外观模式
前言 这次要介绍的是外观模式(也称为门面模式),外观模式也属于结构型模式,其实外观模式还是非常好理解的,简单的来讲就是将多个复杂的业务封装成一个方法,在调用此方法时可以不必关系具体执行了哪些业务,而只 ...