當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python functools.partial用法及代碼示例


用法:

functools.partial(func, /, *args, **keywords)

返回一個新的部分對象,在調用時其行為類似於使用位置參數 args 和關鍵字參數 keywords 調用的 func 。如果向調用提供了更多參數,它們將附加到 args 。如果提供了其他關鍵字參數,它們會擴展並覆蓋 keywords 。大致相當於:

def partial(func, /, *args, **keywords):
    def newfunc(*fargs, **fkeywords):
        newkeywords = {**keywords, **fkeywords}
        return func(*args, *fargs, **newkeywords)
    newfunc.func = func
    newfunc.args = args
    newfunc.keywords = keywords
    return newfunc

partial() 用於部分函數應用程序,其中 “freezes” 函數的參數和/或關鍵字的某些部分導致具有簡化簽名的新對象。例如,partial() 可用於創建行為類似於 int() 函數的可調用對象,其中 base 參數默認為兩個:

>>> from functools import partial
>>> basetwo = partial(int, base=2)
>>> basetwo.__doc__ = 'Convert base 2 string to an int.'
>>> basetwo('10010')
18

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 functools.partial。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。