首页 > 代码库 > partial函数-python学习
partial函数-python学习
一个函数可以有多个参数,而在有的情况下有的参数先得到,有的参数需要在后面的情景中才能知道,python 给我们提供了partial函数用于携带部分参数生成一个新函数。
def add(a,b,c=2): print("a is:%s b is %s c is %s"%(a,b,c)) return a+b+cadd_with_a_b=partial(add,2,3)print(add_with_a_b())# it‘s 7add_with_a=partial(add,9)print(add_with_a(10))# it‘s 21
#################
a is:2 b is 3 c is 2
7
a is:9 b is 10 c is 2
21
下面一个列子是用partial来生成了一个装饰器,用于修改函数的__doc__为另一个函数的
#coding:utf-8‘‘‘Created on 2014-10-1@author: zkchen‘‘‘from functools import partialPARAMS=("__doc__",)def update_params(target,source,params=PARAMS): #将target的在PARAMS中提到的属性设置为source的 [setattr(target,p,getattr(source,p,None)) for p in PARAMS] return targetdef update_params_wrap(source): return partial(update_params,source=source,params=PARAMS)def test_partial(): def funcA(): ‘‘‘this is funcA‘s doc‘‘‘ pass @update_params_wrap(funcA) def funcB(): ‘‘‘this is funcB‘s doc‘‘‘ pass print(funcB.__doc__)
#################################
this is funcA‘s doc
partial函数-python学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。