原创转载请注明出处:http://agilestyle.iteye.com/blog/2330401
当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
from functools import partial
# int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换
print(int('12345'))
# int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做N进制的转换
# 64
print(int('1000000', base=2))
# 127
print(int('1111111', base=2))
# 64
int2 = partial(int, base=2)
print(int2('1000000'))
# 127
print(int2('1111111'))
# 1000000
print(int2('1000000', base=10))
# 创建偏函数时,实际上可以接收函数对象、*args和**kw这3个参数
max2 = partial(max, 10)
# 10作为*args的一部分自动加到左边
# 10
print(max2(4, 5, 7))
# 17
print(max2(4, 5, 17))
Console Output