python中偏函数partial用法实例分析


Posted in Python onJuly 08, 2015

本文实例讲述了python中偏函数partial用法。分享给大家供大家参考。具体如下:

函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。

例如:

In [9]: from functools import partial

In [10]: def add(a,b):
....: return a+b
....:

In [11]: add(4,3)
Out[11]: 7

In [12]: plus = partial(add,100)

In [13]: plus(9)
Out[13]: 109

In [14]: plus2 = partial(add,99)

In [15]: plus2(9)
Out[15]: 108

其实就是函数调用的时候,有多个参数 参数,但是其中的一个参数已经知道了,我们可以通过这个参数重新绑定一个新的函数,然后去调用这个新函数。

如果有默认参数的话,他们也可以自动对应上,例如:

In [17]: def add2(a,b,c=2):
....: return a+b+c
....:

In [18]: plus3 = partail(add,101)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/Users/yupeng/Documents/PhantomJS/<ipython-input-18-d4b7c6a6855d> in <module>()
----> 1 plus3 = partail(add,101)

NameError: name 'partail' is not defined

In [19]: plus3 = partial(add,101)

In [20]: plus3(1)
Out[20]: 102

In [21]: plus3 = partial(add2,101)

In [22]: plus3 = partial(add2,101) (1)
Out[22]: 104

In [23]: plus3(1)
Out[23]: 104

In [24]: plus3(1,2)
Out[24]: 104

In [25]: plus3(1,3)
Out[25]: 105

In [26]: plus3(1,30)
Out[26]: 132

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python使用分治法实现求解最大值的方法
May 12 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
python 自定义对象的打印方法
Jan 12 Python
python 读取文件并把矩阵转成numpy的两种方法
Feb 12 Python
python将字典列表导出为Excel文件的方法
Sep 02 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
python 经典数字滤波实例
Dec 16 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
pyinstaller打包找不到文件的问题解决
Apr 15 Python
Django实现内容缓存实例方法
Jun 30 Python
python中id函数运行方式
Jul 03 Python
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 Python
Python使用bs4获取58同城城市分类的方法
Jul 08 #Python
Python实现批量修改文件名实例
Jul 08 #Python
Python查询阿里巴巴关键字排名的方法
Jul 08 #Python
浅谈Python中的闭包
Jul 08 #Python
Python中atexit模块的基本使用示例
Jul 08 #Python
python登录豆瓣并发帖的方法
Jul 08 #Python
python发送HTTP请求的方法小结
Jul 08 #Python
You might like
PHP操作文件的一些基本函数使用示例
2014/11/18 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
Yii全局函数用法示例
2017/01/22 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
项目实践之javascript技巧
2007/12/06 Javascript
JS 判断代码全收集
2009/04/28 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
经管应届生求职信
2013/11/17 职场文书
校园标语大全
2014/06/19 职场文书
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python
青岛市的收音机研制与生产
2022/04/07 无线电