Python偏函数实现原理及应用

 更新时间:2020年11月20日 09:40:26   作者:“人生苦短”  
这篇文章主要介绍了Python偏函数实现原理及应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

摘要: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 控制语句

    python 控制语句

    python控制语句和其它的语言的控制语句有些地方是不同的,python的一些哲学思想就体现在他的控制语句上
    2011-11-11
  • Python实现扫描指定目录下的子目录及文件的方法

    Python实现扫描指定目录下的子目录及文件的方法

    这篇文章主要介绍了Python实现扫描指定目录下的子目录及文件的方法,需要的朋友可以参考下
    2014-07-07
  • numpy和pandas中数组的合并、拉直和重塑实例

    numpy和pandas中数组的合并、拉直和重塑实例

    今天小编就为大家分享一篇numpy和pandas中数组的合并、拉直和重塑实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • 浅谈keras 模型用于预测时的注意事项

    浅谈keras 模型用于预测时的注意事项

    这篇文章主要介绍了浅谈keras 模型用于预测时的注意事项,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python实现自动化处理每月考勤缺卡数据

    Python实现自动化处理每月考勤缺卡数据

    不管是上学还是上班都会统计考勤,有些学校或公司会对每月缺卡次数过多(比如三次以上)的人员进行处罚。本文提供了Python自动处理考勤和日志缺失的方法,需要的可以参考一下
    2022-06-06
  • 10行Python代码实现Web自动化管控的示例代码

    10行Python代码实现Web自动化管控的示例代码

    这篇文章主要介绍了10行Python代码实现Web自动化管控的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • python实现输入任意一个大写字母生成金字塔的示例

    python实现输入任意一个大写字母生成金字塔的示例

    这篇文章主要介绍了python实现输入任意一个大写字母生成金字塔的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • python实现自动化上线脚本的示例

    python实现自动化上线脚本的示例

    今天小编就为大家分享一篇python实现自动化上线脚本的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python中 map()函数的用法详解

    Python中 map()函数的用法详解

    map( )函数在算法题目里面经常出现,map( )会根据提供的函数对指定序列做映射,在写返回值等需要转换的时候比较常用。这篇文章主要介绍了Python中 map()的用法,需要的朋友可以参考下
    2018-07-07
  • Pycharm更换安装源与添加第三方库方法详解

    Pycharm更换安装源与添加第三方库方法详解

    在使用Pycharm的时候不免要下载许多的第三方库,特别是移植过来的项目更是一个文件的依赖包需要下载而Pycharm默认的官方源下载比较慢,所以下面这篇文章主要给大家介绍了关于Pycharm更换安装源与添加第三方库的相关资料,需要的朋友可以参考下
    2023-02-02

最新评论