python中偏函数partial用法实例分析

作者:yupeng 时间:2021-03-24 21:35:23 

本文实例讲述了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,偏函数,partial
0
投稿

猜你喜欢

  • Python接口测试文件上传实例解析

    2023-04-19 15:59:28
  • 网页设计应急小技巧

    2011-10-05 18:52:57
  • PHP使用flock实现文件加锁的方法

    2023-10-29 21:26:59
  • 讲解Access数据库中数据表的自动重新联接

    2008-11-28 16:29:00
  • 对SQL Server聚集索引的指示综合描述

    2010-08-31 14:25:00
  • SQL Server 数据库故障修复顶级技巧之一

    2010-05-01 18:49:00
  • html静态页面调用php文件的方法

    2023-09-04 23:18:21
  • 五种提高 SQL 性能的方法

    2008-05-16 10:40:00
  • 设计能力决定权力

    2009-06-16 14:48:00
  • 菜鸟来看看:制作个人主页有诀窍

    2007-10-05 09:03:00
  • python抓取网站的图片并下载到本地的方法

    2022-05-19 23:45:08
  • 两级联动select刷新后其值保持不变的实现方法

    2023-11-05 11:39:33
  • 服务器端的代码是如何被解释成客户端的?

    2009-11-01 15:15:00
  • CSS浏览器兼容问题整理(IE6.0、IE7.0 与FireFox)

    2008-10-27 13:45:00
  • SQL SERVER数据库开发之asp存储过程应用

    2008-05-19 12:55:00
  • 用Dreamweaver MX轻松操作表格

    2009-05-29 18:41:00
  • Codeigniter发送邮件的方法

    2023-11-15 05:08:25
  • 潜谈产品设计中的可用性和可访问性

    2009-01-18 12:47:00
  • DreamWeaver制作会移动的广告条

    2008-02-03 11:34:00
  • python数据处理之Pandas类型转换的实现

    2021-04-11 11:17:36
  • asp之家 网络编程 m.aspxhome.com