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 网络爬虫初级实现代码
Feb 27 Python
Python如何读取MySQL数据库表数据
Mar 11 Python
Python中音频处理库pydub的使用教程
Jun 07 Python
Python绘制七段数码管实例代码
Dec 20 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
python用户管理系统
Mar 13 Python
对python产生随机的二维数组实例详解
Dec 13 Python
Django数据库连接丢失问题的解决方法
Dec 29 Python
python线程的几种创建方式详解
Aug 29 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
Python实现aes加密解密多种方法解析
May 15 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 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 代码优化的42条建议 推荐
2009/09/25 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
php生成mysql的数据字典
2016/07/07 PHP
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
浅谈javascript的调试
2015/01/28 Javascript
jQuery获取剪贴板内容的方法
2016/06/16 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
Node.js console控制台简单用法分析
2019/01/04 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
Vue触发input选取文件点击事件操作
2020/08/07 Javascript
Python批量更改文件名的实现方法
2017/10/29 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
python3对接mysql数据库实例详解
2019/04/30 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
深入浅析css3 border-image边框图像详解
2015/11/24 HTML / CSS
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
大学生求职简历的自我评价范文
2013/10/12 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
学习三严三实心得体会
2014/10/13 职场文书
高中社区服务活动报告
2015/02/05 职场文书
教师个人教学反思
2016/02/23 职场文书
导游词之安徽九华山
2019/09/18 职场文书
了解Redis常见应用场景
2021/06/23 Redis