当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。