Python 之匿名函数和偏函数
匿名函数与偏函数
匿名函数
Python允许使用lambda关键字创造匿名函数,lambda表达式用于定义匿名函数,它返回可调用的函数对象,语法如下:
lambda arg1, arg2, … : expression
例如;
add = lambda a,b=2 : a+bprint(add(3)) # 5 print(add(3, 10)) # 13
匿名函数具有比较浓郁的函数式编程风格,例如:
foo = [2, 18, 9, 22, 17, 24, 8, 12, 27] print filter(lambda x: x % 3 == 0, foo) print map(lambda x: x % 3 == 0, foo)
使用lambda表达式,可以避免定义函数,从而使得代码更简洁。
偏函数
Python中的函数参数可以带默认值,这样能够降低函数调用的复杂度,例如:
def add(a, b, c=100):return a+b+cprint(add(40, 30)) # 170
当函数的参数个数太多,需要简化时,使用偏函数(functools.partial)可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
from functools import partialdef add(a, b, c=100):return a+b+cplus = partial(add, c=100)print(plus(40, 30)) # 170 print(plus(-20, 30)) # 110
上面的例子中partial(add, c=100)使用了关键字参数c=100,如果只是简单的使用partial(add, 100),那么100做为位置参数,会被认为是参数a的固定值,。例如:
from functools import partialdef add(a, b, c=100):return a+b+cplus = partial(add, 100)print(plus(40)) # 240print(plus(40, 50)) # 190
这里,plus(40),传入的40会被赋值给b,而c使用默认参数100;
转载于:https://www.cnblogs.com/chenny7/p/4218426.html
Python 之匿名函数和偏函数相关推荐
- python偏函数和高阶函数_【Python入门】8.高阶函数之 匿名函数和偏函数
目录 高阶函数 匿名函数 lambda 偏函数 高阶函数 匿名函数 lambda lambda,即希腊字母λ.顾名思义,匿名函数没有函数名,在运用时采取lambda x : ...的方式,如lambd ...
- python在匿名函数作和_跟光磊学Python开发-匿名函数函数和高阶函数
跟光磊学Python开发-匿名函数函数和高阶函数 跟光磊学Python开发-匿名函数函数和高阶函数跟光磊学Python开发 匿名函数 匿名函数就是函数定义时没有名字的函数,也称为匿名表达式. 普通函数 ...
- Python中匿名函数与内置高阶函数详解
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...
- python的匿名函数返回值_Python匿名函数返回值输出问题望指点
该段的匿名函数作为返回值返回,那请问可以输出对应的值吗?小白途中!望各位指点! def build(x, y): return lambda: x * x + y * y 1.匿名函数在一定意义上应该 ...
- python 中匿名函数的使用
一.概述 在python3中的匿名函数是用来处理一些简单的逻辑,简单的功能的,这样可以节省栈内存,在使用场景中,很多情况是用于某个函数的参数,或者一些只需要一句话的逻辑,接下来让我们看看匿名函数的使用 ...
- Python的匿名函数
Python的匿名函数 一.前言 二.匿名函数语法格式 三.匿名函数实例应用 一.前言 匿名函数是指没有名字的函数,它主要应用在需要一个函数.但是又不想费神去命名这个函数的场合.通常情况下,这样的 ...
- python lambda_Python 匿名函数 lambda
可以用 lambda 关键字来创建一个匿名函数.lambda 函数可以在需要函数对象的任何地方使用.从语义上来说,它们只是正常函数定义的语法糖. 名词 Lambda( /ˈlæmdə/ 大写Λ,小写λ ...
- python中匿名函数的作用_Python 中的匿名函数,你会用吗
原标题:Python 中的匿名函数,你会用吗 概念 我们从一个例子引入. 这里有一个元素为非空字符串的列表,按字符串最后一个字母将列表进行排序.如果原列表是 ['abc', 'g', 'def'],则 ...
- python阶乘匿名函数_python的高阶函数与匿名函数
一.高阶函数的定义 高阶函数:就是把函数当成参数传递的一种函数,例如: defadd(x,y,f):return f(x)+f(y)print(add(-8,11,abs) 结果:19 解释: 1.调 ...
最新文章
- 超越卷积、自注意力机制:强大的神经网络新算子involution
- Leangoo敏捷工具企业版-企业管理
- XamarinSQLite教程下载安装SQLite/SQL Server Compact Toolbox
- 如何分表分库 Mycat 与shadingjdbc 区别? Mycat 是基于服务器端的形式实现数据库代理 基于服务器端的形式 改写sql语句 shadingjdbc 基于客户端 改写sql语
- oracle中右表有过滤条件的left outer join
- 进程调度:优先数法与轮转法的实现
- LSTM模型在问答系统中的应用
- 基础 | 这波编程基础绝了!快来学习!
- 在Intellij idea中快速重写父类方法
- 苹果耳机无线真假测试软件,辨认苹果耳机真假,就这六步。
- Java取交集方法retainAll()
- Python 的输出矩阵的一些常用设置
- 1. 什么是字符串(str)
- HDU 5336 XYZ and Drops (模拟+搜索,详解)
- 最新wxid转扫一扫添加好友
- windows防火墙开端口失败
- 目标检测YOLO实战应用案例100讲-自动驾驶场景下的三维目标检测技术研究
- 各种Java游戏引擎简介
- 数字图像处理之频域滤波
- 橄榄山BIM大学论坛正式启用,有Revit二次开发专版。可去那里问问题 http://bbs.glsbim.com
热门文章
- MATLAB优化编码
- BorderLayout布局管理器设置3个按钮
- python标准库os.path中_Python零基础入门学习19:常用标准库之os.path子库
- arr数组怎么取值_【JavaScript】Array数组常规使用小结(持续更新......)
- java中的多态性_[转载] c++多态与java多态性_Java中的多态性
- Python学习入门基础教程(learning Python)--5.4 Python读文件详解
- winform 根据NAME查找控件
- 如何安装inf类型驱动程序 inno
- WIZnet 在 Embedded World 2013展会中的展示
- Linux内核源代码分析——中断(一鞭一条痕)(下)