首页 > Python3教程 > Python3 函数

Python3 偏函数(Partial function)

函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。

这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。functools.partial就能帮我们创建这样的一个新的函数

int()函数把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换成整数:

int('12345')  #输出12345

int()函数还有一个额外的base参数,默认值为10。如果传入base参数,就可以做N进制的转换:

int('12345', base=8)   #输出5349

int('12345', 16)   #输出74565

 

如果要经常转换二进制字符串,每次都传入int(x, base=2)比较麻烦,于是,定义一个int2()的函数,默认把base=2传进去:

def int2(x, base=2):

return int(x, base)

#这样,转换二进制就方便了
print(int2('1000010')) #输出66

 

functools.partia

l就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),直接使用下面的代码创建一个新的函数int2:

import functools
int2 = functools.partial(int, base=2)

print(int2('1000010')) #输出66
print(int2('1000101')) #输出69

functools.partial的作用就是,给一个函数的某些参数设置默认值,返回一个新的函数,调用这个新函数更简单。

注意到上面的新的int2函数,仅仅是把base参数重新设定默认值为2,但也可以在函数调用时传入其他值:

int2('1000000', base=10)

1000000

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。