Python實(shí)現(xiàn)partial改變方法默認(rèn)參數(shù)
在Python的標(biāo)準(zhǔn)庫(kù)中,functools庫(kù)中有很多對(duì)方法有操作的封裝功能,partial Objects就是其中之一,他可以實(shí)現(xiàn)對(duì)方法參數(shù)默認(rèn)值的修改。本文就以實(shí)例代碼說明這一功能。
下面就看下簡(jiǎn)單的應(yīng)用測(cè)試實(shí)例。具體代碼如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #partial.py #authror: orangleliu ''' functools 中Partial可以用來改變一個(gè)方法默認(rèn)參數(shù) 1 改變?cè)心J(rèn)值參數(shù)的默認(rèn)值 2 給原來沒有默認(rèn)值的參數(shù)增加默認(rèn)值 ''' def foo(a,b=0) : ''' int add' ''' print a + b #user default argument foo(1) #change default argument once foo(1,1) #change function's default argument, and you can use the function with new argument import functools foo1 = functools.partial(foo, b=5) #change "b" default argument foo1(1) foo2 = functools.partial(foo, a=10) #give "a" default argument foo2() ''' foo2 is a partial object,it only has three read-only attributes i will list them ''' print foo2.func print foo2.args print foo2.keywords print dir(foo2) ##默認(rèn)情況下partial對(duì)象是沒有 __name__ __doc__ 屬性,使用update_wrapper 從原始方法中添加屬性到partial 對(duì)象中 print foo2.__doc__ ''' 執(zhí)行結(jié)果: partial(func, *args, **keywords) - new function with partial application of the given arguments and keywords. ''' functools.update_wrapper(foo2, foo) print foo2.__doc__ ''' 修改為foo的文檔信息了 '''
這樣如果我們使用一個(gè)方法總是需要默認(rèn)幾個(gè)參數(shù)的話就可以,先做一個(gè)封裝然后不用每次都設(shè)置相同的參數(shù)了。
希望本文所述方法對(duì)大家的Python程序設(shè)計(jì)有一定的借鑒與幫助價(jià)值。
相關(guān)文章
淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式
這篇文章主要介紹了淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05python文件讀取read及readlines兩種方法使用詳解
這篇文章主要為大家介紹了python文件讀取read及readlines兩種方法的使用示例及區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07python pandas cumsum求累計(jì)次數(shù)的用法
這篇文章主要介紹了python pandas cumsum求累計(jì)次數(shù)的用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07解決py2exe打包后,總是多顯示一個(gè)DOS黑色窗口的問題
今天小編就為大家分享一篇解決py2exe打包后,總是多顯示一個(gè)DOS黑色窗口的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python基礎(chǔ)實(shí)戰(zhàn)總結(jié)
今天要給大家介紹的是Python基礎(chǔ)實(shí)戰(zhàn),本文主要以舉例說明講解:?jiǎn)栴}的關(guān)鍵點(diǎn)就是在于構(gòu)造姓名,學(xué)號(hào)和成績(jī),之后以字典的形式進(jìn)行寫入文件。這里準(zhǔn)備兩個(gè)列表,一個(gè)姓,一個(gè)名,之后使用random庫(kù)進(jìn)行隨機(jī)字符串拼接,得到姓名,需要的朋友可以參考一下2021-10-10Python實(shí)現(xiàn)序列化及csv文件讀取
這篇文章主要介紹了Python實(shí)現(xiàn)序列化及csv文件讀取,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01python爬蟲基礎(chǔ)教程:requests庫(kù)(二)代碼實(shí)例
這篇文章主要介紹了python爬蟲基礎(chǔ)教程:requests庫(kù)(二),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04