Python functools模块学习总结
文档地址
functools.partial
作用:
functools.partial通过包装手法,允许我们"重新定义"函数签名
用一些默认参数包装一个可调用对象,返回结果是可调用对象,并且可以像原始对象一样对待
冻结部分函数位置函数或关键字参数,简化函数,更少更灵活的函数参数调用
#args/keywords调用partial时参数
defpartial(func,*args,**keywords):
defnewfunc(*fargs,**fkeywords):
newkeywords=keywords.copy()
newkeywords.update(fkeywords)
returnfunc(*(args+fargs),**newkeywords)#合并,调用原始函数,此时用了partial的参数
newfunc.func=func
newfunc.args=args
newfunc.keywords=keywords
returnnewfunc
声明:
urlunquote=functools.partial(urlunquote,encoding='latin1')
当调用urlunquote(args,*kargs)
相当于urlunquote(args,*kargs,encoding='latin1')
E.g:
importfunctools
defadd(a,b): returna+b
add(4,2) 6
plus3=functools.partial(add,3) plus5=functools.partial(add,5)
plus3(4) 7 plus3(7) 10
plus5(10) 15
热门推荐
10 喜得孙子祝福语简短唯美
11 婚礼祝福语简短朴实大众
12 员工周年祝福语大全简短
13 家长回复节日祝福语简短
14 简短生日祝福语老同学
15 夜雨祝福语简短10字
16 蛋糕祝福语简短闺蜜
17 部门过年祝福语简短独特
18 简短精炼的结婚祝福语