Python偏函数实现原理及应用

作者:“人生苦短” 时间:2022-12-13 17:12:03 

摘要:python的设计核心原则就是简洁——在这种原则的指导下,诞生了lambda表达式和偏函数:二者都让函数调用变得简洁。本文主要为你介绍偏函数的应用。

1.为什么要使用偏函数

如果我们定义了一个函数,比如说将四个数相加add(one ,two,three,four),上层有很多函数需要调用这个函数。在这些调用中,80%的调用传递的参数都是one=1,two=20,如果我们每都输入相同的参数,这样乏味而且浪费,固然,我们可以通过默认参数来解决这个问题;但是如果另外我们也需要参数是one=2,two=10的情况呢?所以,我们需要一种函数,能够将任意数量的参数的函数转化成带剩余参数的函数对象。

2.什么是偏函数

通过上面,我们大概明白了什么是偏函数:简单的说,偏函数就是某一种函数带有固定参数的实现,所以,我们需要:

1)给偏函数命名

2)传递固定参数

看下面这个例子:

from operator import add,mul
from functools import partial
add1=partial(add,1)
add(2,4) #6
add(1,2) #3

3.如何使用偏函数

可能你还没有感受到偏函数的巨 * ,这里举出一个常见的应用场景。在GUI程序中,一个控件往往有很多参数:大小、长度、最大尺寸、前景色、背景色等;而我们大量用到同种控件,此时,偏函数就非常有用了。下面给出一个GUI应用的例子和结果:

root=Tkinter.Tk()
mybutton=partial(Tkinter.Button,root,fg='white',bg='blue')
b1=mybutton(text='Button1')
b2=mybutton(text='Button2')
qb=mybutton(text='QUIT',bg='red',command=root.quit)
b1.pack()
b2.pack()
qb.pack(fill=Tkinter.X,expand=True)
root.title('PAF!')
root.mainloop()

Python偏函数实现原理及应用

来源:https://www.cnblogs.com/hester/p/10380910.html

标签:Python,偏,函数
0
投稿

猜你喜欢

  • GO接收GET/POST参数及发送GET/POST请求的实例详解

    2024-02-08 10:27:49
  • python 字典中文key处理,读取,比较方法

    2021-11-30 20:42:36
  • asp中通过addnew添加内容后取得当前文章的自递增ID的方法

    2011-02-05 11:05:00
  • 利用Python绘画双摆操作分享

    2022-12-08 21:30:36
  • sqlserver 数据库压缩与数据库日志(ldf)压缩方法分享

    2012-01-05 18:57:19
  • Python 面向对象部分知识点小结

    2023-08-22 17:10:09
  • python 读取Linux服务器上的文件方法

    2023-03-31 23:54:19
  • Python检测PE所启用保护方式详解

    2022-03-11 12:36:08
  • pandas去除重复列的实现方法

    2022-06-27 12:37:31
  • 彻底弄清楚haslayout概念

    2009-10-27 10:46:00
  • 比较SQL Server与Oracle、DB2三种数据库

    2008-09-12 17:24:00
  • asp如何编写sql语句来查询|搜索数据记录

    2008-10-09 12:35:00
  • python输出指定月份日历的方法

    2022-11-27 11:39:18
  • MySQL Order By索引优化方法

    2024-01-18 10:34:38
  • Yii2结合Workerman的websocket示例详解

    2023-11-17 04:48:40
  • js动态生成form 并用ajax方式提交的实现方法

    2024-04-17 09:59:54
  • Python 第一步 hello world

    2021-03-25 06:42:15
  • selenium+python自动化78-autoit参数化与批量上传功能的实现

    2023-11-02 01:24:57
  • 深入研究ASP中的Session

    2007-09-13 12:37:00
  • python批量修改交换机密码的示例

    2023-06-29 07:52:42
  • asp之家 网络编程 m.aspxhome.com