Python学习24:偏函数应用(partial)

来源:互联网 发布:mac icloud不自动备份 编辑:程序博客网 时间:2024/05/19 15:41

函数的partial应用

  函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。

partial属于模块functools

from functools import partial

偏函数简单例子

#FileName:p.py#输入模块(偏函数)from functools import partial#输入模块(操作函数)from operator import add,mul#自定义函数,用作片函数def sum_func(x,y,z):    return x + y + zprint()print('创建偏函数add2014----------------------')#创建偏函数addadd2014 = partial(add,2014)  #等价于add2014 = add(2014,x)#多次使用偏函数,打印相加的数值print('输出调用偏函数的后的值:-------------------')print('add2014(10000) = %d'%add2014(10000))        #等价于add(2014,10000)  #= 12014print('add2014(2014) = %d'%add2014(2014))         #等价于add(2014,2014)   #=4028print()print('创建偏函数mul2014---------------------')#创建另外一个偏函数mulmul2014 = partial(mul,2014)  #等价于 mul2014 = mul(2014,x)print('调用偏函数mul2014---------------------')   #等价于mul(2014,10000) = 20140000print('mul2014(10000) = %d'%mul2014(10000))print()print('使用自定函数创建偏函数--------------------')#调用自定义函数,创建偏函数sum2014 = partial(sum_func,2014)  #等价于sum(2014,y,z)print('调用函数sum2014----------------------')print('sum2014(10000,100000) = %d'%sum2014(10000,100000))print()#使用partial进行进制转换#调用内建函数int进行进制转换bin2dec = partial(int,base = 2) #等价于int(string,2)  将2 赋值给int(x,base)中base如果没有指定参数名,会被传给第一个参数print(bin2dec(2))#使用内建函数int(x,base)进制转换print(int('111111',2))    

效果图

0 0
原创粉丝点击