您的位置:首頁技術文章
文章詳情頁

Python偏函數實現原理及應用

瀏覽:35日期:2022-07-04 17:52:50

摘要:python的設計核心原則就是簡潔——在這種原則的指導下,誕生了lambda表達式和偏函數:二者都讓函數調用變得簡潔。本文主要為你介紹偏函數的應用。

1.為什么要使用偏函數

如果我們定義了一個函數,比如說將四個數相加add(one ,two,three,four),上層有很多函數需要調用這個函數。在這些調用中,80%的調用傳遞的參數都是one=1,two=20,如果我們每都輸入相同的參數,這樣乏味而且浪費,固然,我們可以通過默認參數來解決這個問題;但是如果另外我們也需要參數是one=2,two=10的情況呢?所以,我們需要一種函數,能夠將任意數量的參數的函數轉化成帶剩余參數的函數對象。

2.什么是偏函數

通過上面,我們大概明白了什么是偏函數:簡單的說,偏函數就是某一種函數帶有固定參數的實現,所以,我們需要:

1)給偏函數命名

2)傳遞固定參數

看下面這個例子:

from operator import add,mulfrom functools import partialadd1=partial(add,1)add(2,4) #6add(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 編程
相關文章:
国产综合久久一区二区三区