Python實現(xiàn)partial改變方法默認(rèn)參數(shù)
在Python的標(biāo)準(zhǔn)庫中,functools庫中有很多對方法有操作的封裝功能,partial Objects就是其中之一,他可以實現(xiàn)對方法參數(shù)默認(rèn)值的修改。本文就以實例代碼說明這一功能。
下面就看下簡單的應(yīng)用測試實例。具體代碼如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #partial.py #authror: orangleliu ''' functools 中Partial可以用來改變一個方法默認(rèn)參數(shù) 1 改變原有默認(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對象是沒有 __name__ __doc__ 屬性,使用update_wrapper 從原始方法中添加屬性到partial 對象中 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的文檔信息了 '''
這樣如果我們使用一個方法總是需要默認(rèn)幾個參數(shù)的話就可以,先做一個封裝然后不用每次都設(shè)置相同的參數(shù)了。
希望本文所述方法對大家的Python程序設(shè)計有一定的借鑒與幫助價值。
相關(guān)文章
淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式
這篇文章主要介紹了淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05python文件讀取read及readlines兩種方法使用詳解
這篇文章主要為大家介紹了python文件讀取read及readlines兩種方法的使用示例及區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07python pandas cumsum求累計次數(shù)的用法
這篇文章主要介紹了python pandas cumsum求累計次數(shù)的用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python爬蟲基礎(chǔ)教程:requests庫(二)代碼實例
這篇文章主要介紹了python爬蟲基礎(chǔ)教程:requests庫(二),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04