您好,登錄后才能下訂單哦!
偏函數如何在Python項目中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
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()
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。