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 21 Python
Python中用于去除空格的三个函数的使用小结
Apr 07 Python
在Python中操作字典之fromkeys()方法的使用
May 21 Python
python 除法保留两位小数点的方法
Jul 16 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 Python
python如何删除文件、目录
Jun 23 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 Python
python selenium xpath定位操作
Sep 01 Python
Python高阶函数与装饰器函数的深入讲解
Nov 10 Python
健身房被搭讪?用python写了个小米计时器助人为乐
Jun 08 Python
python运算符之与用户交互
Apr 13 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编写RESTful接口的方法
2016/02/21 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
python面向对象 反射原理解析
2019/08/12 Python
Python修改列表值问题解决方案
2020/03/06 Python
python调用摄像头的示例代码
2020/09/28 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
全国道德模范事迹
2014/02/01 职场文书
校园公益广告语
2014/03/13 职场文书
经济贸易专业自荐信
2014/06/11 职场文书
创新社会管理心得体会
2014/09/12 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
先进班组事迹材料
2014/12/25 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
技术转让协议书
2016/03/19 职场文书
话题作文之成长
2019/12/09 职场文书
Python基础之Socket通信原理
2021/04/22 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python
python_tkinter事件类型详情
2022/03/20 Python