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多进程通信Queue、Pipe、Value、Array实例
Nov 21 Python
PyQt5每天必学之像素图控件QPixmap
Apr 19 Python
python顺序的读取文件夹下名称有序的文件方法
Jul 11 Python
python的常用模块之collections模块详解
Dec 06 Python
Python3 SSH远程连接服务器的方法示例
Dec 29 Python
python实现自动解数独小程序
Jan 21 Python
python使用time、datetime返回工作日列表实例代码
May 09 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 Python
Python连接字符串过程详解
Jan 06 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
pandas 数据类型转换的实现
Dec 29 Python
python 离散点图画法的实现
Apr 01 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边学边教》(01.开篇――准备工作)
2006/12/13 PHP
PHP程序员编程注意事项
2008/04/10 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
深入php数据采集的详解
2013/06/02 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Python实现SMTP发送邮件详细教程
2021/03/02 Python
python实现批量修改文件名代码
2017/09/10 Python
Python Flask基础教程示例代码
2018/02/07 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
安装python及pycharm的教程图解
2019/10/10 Python
python logging.info在终端没输出的解决
2020/05/12 Python
python如何查看网页代码
2020/06/07 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
捐款倡议书范文
2014/02/02 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python