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获取单个程序CPU使用情况趋势图
Mar 10 Python
python追加元素到列表的方法
Jul 28 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
pycharm中连接mysql数据库的步骤详解
May 02 Python
Python单元和文档测试实例详解
Apr 11 Python
Django分组聚合查询实例分享
Apr 29 Python
Python如何在循环内使用list.remove()
Jun 01 Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 Python
Keras设置以及获取权重的实现
Jun 19 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
Nov 17 Python
Python项目打包成二进制的方法
Dec 30 Python
Python开发五子棋小游戏
May 02 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
Yii实现的多级联动下拉菜单
2016/07/13 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
js实现分页功能
2017/05/24 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
Python open读写文件实现脚本
2008/09/06 Python
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
学习Python selenium自动化网页抓取器
2018/01/20 Python
Python flask框架post接口调用示例
2019/07/03 Python
python with语句的原理与用法详解
2020/03/30 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
python3 简单实现组合设计模式
2020/07/02 Python
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
毕业生幼师求职自荐信
2013/10/01 职场文书
毕业生多媒体设计求职信
2013/10/12 职场文书
中文专业毕业生自荐书范文
2014/01/04 职场文书
优秀民警事迹材料
2014/01/29 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
小学中队活动总结
2015/05/11 职场文书
MongoDB 常用的crud操作语句
2021/06/20 MongoDB