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判断变量是否已经定义的方法
Aug 18 Python
python中黄金分割法实现方法
May 06 Python
对pandas中Series的map函数详解
Jul 25 Python
python处理DICOM并计算三维模型体积
Feb 26 Python
python opencv将图片转为灰度图的方法示例
Jul 31 Python
解决Django后台ManyToManyField显示成Object的问题
Aug 09 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
Nov 16 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 Python
在keras中获取某一层上的feature map实例
Jan 24 Python
matplotlib实现数据实时刷新的示例代码
Jan 05 Python
利用python查看数组中的所有元素是否相同
Jan 08 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
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
2019/08/27 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
JavaScript实现简单的树形菜单效果
2017/06/23 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
原生js检测页面加载完毕的实例
2018/09/11 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
Python collections模块使用方法详解
2019/08/28 Python
如何定义TensorFlow输入节点
2020/01/23 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
一套软件测试笔试题
2014/07/25 面试题
人力资源管理毕业生自荐信
2013/11/21 职场文书
工厂门卫岗位职责
2013/11/25 职场文书
自荐信范文
2013/12/10 职场文书
幼儿园五一活动方案
2014/02/07 职场文书
2014年团支书工作总结
2014/11/14 职场文书
房产公证书样本
2015/01/23 职场文书
通讯稿格式及范文
2015/07/22 职场文书
我的生日感言
2015/08/03 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang