欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python偏函數(shù)實現(xiàn)原理及應用

 更新時間:2020年11月20日 09:40:26   作者:“人生苦短”  
這篇文章主要介紹了Python偏函數(shù)實現(xiàn)原理及應用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

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

1.為什么要使用偏函數(shù)

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

2.什么是偏函數(shù)

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

1)給偏函數(shù)命名

2)傳遞固定參數(shù)

看下面這個例子:

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

3.如何使用偏函數(shù)

可能你還沒有感受到偏函數(shù)的巨大威力,這里舉出一個常見的應用場景。在GUI程序中,一個控件往往有很多參數(shù):大小、長度、最大尺寸、前景色、背景色等;而我們大量用到同種控件,此時,偏函數(shù)就非常有用了。下面給出一個GUI應用的例子和結(jié)果:

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()

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • VSCode配置python環(huán)境及中文問題解決方法

    VSCode配置python環(huán)境及中文問題解決方法

    這篇文章主要介紹了VSCode配置python環(huán)境及中文問題,print打印中文亂碼如何解決這個問題呢,本文給大家?guī)韮煞N方法幫助大家解決這個問題,需要的朋友可以參考下
    2022-02-02
  • python定時任務timeloop庫用法實例詳解

    python定時任務timeloop庫用法實例詳解

    有些時候我們需要每隔一段時間就要執(zhí)行一段程序,或者是往復循環(huán)執(zhí)行某一個任務,下面這篇文章主要給大家介紹了關(guān)于python定時任務timeloop庫用法的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Python比較文件夾比另一同名文件夾多出的文件并復制出來的方法

    Python比較文件夾比另一同名文件夾多出的文件并復制出來的方法

    這篇文章主要介紹了Python比較文件夾比另一同名文件夾多出的文件并復制出來的方法,涉及Python針對文件與文件夾的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Python Web框架Django的模型和數(shù)據(jù)庫遷移詳解

    Python Web框架Django的模型和數(shù)據(jù)庫遷移詳解

    Django 是一個極其強大的 Python Web 框架,它提供了許多工具和特性,能夠幫助我們更快速、更便捷地構(gòu)建 Web 應用,在本文中,我們將會關(guān)注 Django 中的模型(Models)和數(shù)據(jù)庫遷移(Database Migrations)這兩個核心概念,需要的朋友可以參考下
    2023-08-08
  • Python基礎(chǔ)之dict和set的使用詳解

    Python基礎(chǔ)之dict和set的使用詳解

    這篇文章主要為大家詳細介紹了Python語言中dict和set的使方法,文中的示例代碼講解詳細,對我們學習Python有一定的幫助,需要的可以參考一下
    2022-08-08
  • 使用Python 操作 xmind 繪制思維導圖的詳細方法

    使用Python 操作 xmind 繪制思維導圖的詳細方法

    在平時的工作中當我們要總結(jié)一些知識的時候就需要一款工具來畫畫流程圖,這里推薦 XMind 軟件,用 Xmind 繪制的思維導圖看起來思路清晰,那么今天的文章介紹關(guān)于思維導圖的相關(guān)知識以及用 Python 如何操作 Xmind 繪制思維導圖
    2021-10-10
  • 教你如何使用Python下載B站視頻的詳細教程

    教你如何使用Python下載B站視頻的詳細教程

    這篇文章主要介紹了教你如何使用Python下載B站視頻的詳細教程,文中有非常詳細的代碼示例,對正在學習python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • numpy排序與集合運算用法示例

    numpy排序與集合運算用法示例

    這篇文章主要介紹了numpy排序與集合運算用法示例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • 解決pip install的時候報錯timed out的問題

    解決pip install的時候報錯timed out的問題

    今天小編就為大家分享一篇解決pip install的時候報錯timed out的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python 中[0]*2與0*2的區(qū)別說明

    python 中[0]*2與0*2的區(qū)別說明

    這篇文章主要介紹了python 中[0]*2與0*2的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05

最新評論