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中的自省(反射)详解
Jun 02 Python
python中使用序列的方法
Aug 03 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
Python爬虫将爬取的图片写入world文档的方法
Nov 07 Python
浅析python参数的知识点
Dec 10 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
flask框架蓝图和子域名配置详解
Jan 25 Python
Jupyter notebook 启动闪退问题的解决
Apr 13 Python
python的pip有什么用
Jun 17 Python
Virtualenv 搭建 Py项目运行环境的教程详解
Jun 22 Python
Python读取多列数据以及用matplotlib制作图表方法实例
Sep 23 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
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
angular4 JavaScript内存溢出问题
2018/03/06 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
python发布模块的步骤分享
2014/02/21 Python
Python 列表(List)操作方法详解
2014/03/11 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
带你了解python装饰器
2017/06/15 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
Python实现搜索算法的实例代码
2020/01/02 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
物业管理公司实习生自我鉴定
2013/09/19 职场文书
中考冲刺决心书
2014/03/11 职场文书
python glom模块的使用简介
2021/04/13 Python
Android存储中最基本的文件存储方式
2022/04/30 Java/Android