Python 如何定义匿名或内联函数


Posted in Python onAugust 01, 2020

问题

你想为 sort() 操作创建一个很短的回调函数,但又不想用 def 去写一个单行函数, 而是希望通过某个快捷方式以内联方式来创建这个函数。

解决方案

当一些函数很简单,仅仅只是计算一个表达式的值的时候,就可以使用lambda表达式来代替了。比如:

>>> add = lambda x, y: x + y
>>> add(2,3)
5
>>> add('hello', 'world')
'helloworld'
>>>

这里使用的lambda表达式跟下面的效果是一样的:

>>> def add(x, y):
...   return x + y
...
>>> add(2,3)
5
>>>

lambda表达式典型的使用场景是排序或数据reduce等:

>>> names = ['David Beazley', 'Brian Jones',
...     'Raymond Hettinger', 'Ned Batchelder']
>>> sorted(names, key=lambda name: name.split()[-1].lower())
['Ned Batchelder', 'David Beazley', 'Raymond Hettinger', 'Brian Jones']
>>>

讨论

尽管lambda表达式允许你定义简单函数,但是它的使用是有限制的。 你只能指定单个表达式,它的值就是最后的返回值。也就是说不能包含其他的语言特性了, 包括多个语句、条件表达式、迭代以及异常处理等等。

你可以不使用lambda表达式就能编写大部分python代码。 但是,当有人编写大量计算表达式值的短小函数或者需要用户提供回调函数的程序的时候, 你就会看到lambda表达式的身影了。

以上就是Python 如何定义匿名或内联函数的详细内容,更多关于Python 定义匿名或内联函数的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python3抓取中文网页的方法
Jul 28 Python
Python3字符串学习教程
Aug 20 Python
Python中使用插入排序算法的简单分析与代码示例
May 04 Python
python3 shelve模块的详解
Jul 08 Python
搞清楚 Python traceback的具体使用方法
May 13 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
python实现身份证实名认证的方法实例
Nov 08 Python
pytorch:实现简单的GAN示例(MNIST数据集)
Jan 10 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 Python
Python QT组件库qtwidgets的使用
Nov 02 Python
requests在python中发送请求的实例讲解
Feb 17 Python
分享Python异步爬取知乎热榜
Apr 12 Python
Python sqlalchemy时间戳及密码管理实现代码详解
Aug 01 #Python
Python如何读写二进制数组数据
Aug 01 #Python
Python将字典转换为XML的方法
Aug 01 #Python
Python Flask异步发送邮件实现方法解析
Aug 01 #Python
Python实现弹球小游戏
Aug 01 #Python
序列化Python对象的方法
Aug 01 #Python
Python 忽略文件名编码的方法
Aug 01 #Python
You might like
php定界符
2014/06/19 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
Position属性之relative用法
2015/12/14 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
详解Django框架中用context来解析模板的方法
2015/07/20 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
python实现趣味图片字符化
2019/04/30 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
shell程序中如何注释
2012/02/17 面试题
元旦晚会邀请函
2014/01/27 职场文书
“学雷锋活动月”总结
2014/03/09 职场文书
报关报检委托书
2014/04/08 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
关于工作经历的证明书
2014/10/11 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
Python 内置函数速查表一览
2021/06/02 Python