一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。在使用partial函数前,要先导入functools模块。

一个函数可以有多个参数,在有些情况下有的参数可以先得到,而有的参数需要在后面的情景中才能知道,python提供了partial函数用于携带部分参数生产一个新函数。

partial函数定义了一个匿名函数,partial并不会带来程序运行效率的提高,只会使代码更简洁

import functools

def add(a,b):
    return a+b
#1
print('\n#1')
rst1=add(4,2)
print('add(4,2)=',rst1)

plus3=functools.partial(add,3)  #把参数3先传入函数add()中,形成一个新函数plus3()
plus5=functools.partial(add,5)
#2
print('\n#2')
rest2=plus3(add(3,7)) #将函数计算结果作为参数传入
rest3=plus5(rst1)
rest4=plus3(9)  #把参数9传入plus3()中,因为第一个参数3已经先行传入,所以最后计算的结果是3+9=12

print(rest2)
print(rest3)
print(rest4)

运行结果:

posted on 2019-12-31 10:36  Brynn  阅读(2)  评论(0)    收藏  举报