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
投稿

猜你喜欢

  • VueJs监听window.resize方法示例

    2024-04-29 13:09:41
  • MySQL中超级有用的14个小知识总结

    2024-01-26 09:01:10
  • 深入理解PyTorch中的nn.Embedding的使用

    2023-01-25 11:54:02
  • python单例模式实例分析

    2021-11-02 12:17:49
  • javascript中判断一个值是否在数组中并没有直接使用

    2024-05-13 10:38:28
  • NaviCat连接时提示"不支持远程连接的MySql数据库"解决方法

    2024-01-24 17:03:54
  • 详解Python的单元测试

    2021-11-22 14:53:57
  • Python常用配置文件ini、json、yaml读写总结

    2023-07-23 18:41:29
  • python地震数据可视化详解

    2021-05-14 15:41:52
  • Python实现聊天机器人的示例代码

    2022-11-16 18:10:56
  • 详解Go语言如何实现二叉树遍历

    2024-04-23 09:44:10
  • php下使用iconv需要注意的问题

    2023-11-23 03:05:09
  • js实现遮罩层弹出框的方法

    2024-02-23 09:01:33
  • Django项目实战之用户头像上传与访问的示例

    2021-01-27 04:28:16
  • mysql学习笔记之表的基本操作

    2024-01-20 03:11:16
  • Python实现的矩阵类实例

    2023-08-13 07:52:09
  • 详解Bootstrap按钮

    2023-07-02 05:24:44
  • sql 百万级数据库优化方案分享

    2024-01-20 13:20:24
  • 浅析Python 中的 WSGI 接口和 WSGI 服务的运行

    2023-02-18 14:45:40
  • 浅析Flask如何使用日志功能

    2023-06-17 17:18:21
  • asp之家 网络编程 m.aspxhome.com