Python實現partial改變方法默認參數
更新時間:2014年08月18日 11:10:05 投稿:shichen2014
這篇文章主要介紹了Python實現partial改變方法默認參數,需要的朋友可以參考下
在Python的標準庫中,functools庫中有很多對方法有操作的封裝功能,partial Objects就是其中之一,他可以實現對方法參數默認值的修改。本文就以實例代碼說明這一功能。
下面就看下簡單的應用測試實例。具體代碼如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #partial.py #authror: orangleliu ''' functools 中Partial可以用來改變一個方法默認參數 1 改變原有默認值參數的默認值 2 給原來沒有默認值的參數增加默認值 ''' 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) ##默認情況下partial對象是沒有 __name__ __doc__ 屬性,使用update_wrapper 從原始方法中添加屬性到partial 對象中 print foo2.__doc__ ''' 執(zhí)行結果: partial(func, *args, **keywords) - new function with partial application of the given arguments and keywords. ''' functools.update_wrapper(foo2, foo) print foo2.__doc__ ''' 修改為foo的文檔信息了 '''
這樣如果我們使用一個方法總是需要默認幾個參數的話就可以,先做一個封裝然后不用每次都設置相同的參數了。
希望本文所述方法對大家的Python程序設計有一定的借鑒與幫助價值。
相關文章
淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式
這篇文章主要介紹了淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05python文件讀取read及readlines兩種方法使用詳解
這篇文章主要為大家介紹了python文件讀取read及readlines兩種方法的使用示例及區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07