python偏函数(functool.partail)

functool.partail 方法可以为一个函数生成偏函数

import functools
def f(a,b,c,d):
    print a,b,c,d
a=a
b=b
f1=functools.partial(f,a,b)
f1(a,d)

这里函数f有a,b,c,d四个变量,通过functool.partail可以生成偏函数f1,f1运行的代码与f相同,只是相对于f,a,b两个参数是固定的了,每次调用f1时,只需要输入c,d两个参数。

可以以k=v的形式输入参数,可以自定义哪个参数是固定的,哪个参数是可变的,即调用函数时才输入

import functools
def f(a,b,c,d):
    print a,b,c,d
a=a
b=b
f1=functools.partial(f,c=c,b=b)
f1(a=a,d=d)

 

这个偏函数有什么用?例如经常要调用一个函数,但是这个函数的某些参数是固定的,某些是不固定的,这时候就可以生成一个偏函数,省略固定的参数,而不需要每次调用都输入固定的参数

 参考:http://www.cnblogs.com/huxi/archive/2011/06/24/2089358.html

python偏函数(functool.partail),布布扣,bubuko.com

python偏函数(functool.partail)

上一篇:javascript 树形菜单


下一篇:java生成随机整数