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()
标签:partial,函数,python,mybutton,add,参数,运用,root 来源: https://www.cnblogs.com/hester/p/10380910.html