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多线程应用于自动化测试操作示例
Dec 06 Python
Python的UTC时间转换讲解
Feb 26 Python
Python爬取数据保存为Json格式的代码示例
Apr 09 Python
python基于递归解决背包问题详解
Jul 03 Python
Python 私有化操作实例分析
Nov 21 Python
python 初始化一个定长的数组实例
Dec 02 Python
Pytorch GPU显存充足却显示out of memory的解决方式
Jan 13 Python
python3安装OCR识别库tesserocr过程图解
Apr 02 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
python+openCV对视频进行截取的实现
Nov 27 Python
Python制作一个随机抽奖小工具的实现
Jul 07 Python
Python装饰器详细介绍
Mar 25 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实现框架(一)
2006/10/09 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
基于jquery的图片懒加载js
2010/06/30 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
Python简明入门教程
2015/08/04 Python
Python探索之SocketServer详解
2017/10/28 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
.net C#面试题
2012/08/28 面试题
毕业设计说明书
2014/05/07 职场文书
横幅标语大全
2014/06/17 职场文书
班级体育活动总结
2014/07/05 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
房产公证委托书范本
2014/09/20 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
2015年度企业工作总结
2015/05/21 职场文书
应收账款管理制度
2015/08/06 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL