偏函数
作用: 通过设定参数的默认值,降低函数调用的难度
函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。
偏函数是将所要承载的函数作为partial()函数的第一个参数,原函数的各个参数依次作为partial()函数后续的参数,除非使用关键字参数。
示例1:
一般函数调用
def student_info(name, age, city):
print(f'我的名字叫{name}, 今年{age}岁,来自{city}')
student_info('Molly',18,'北京')
带关键字参数函数的调用
def student_info(name, age, city='北京'):
print(f'我的名字叫{name}, 今年{age}岁,来自{city}')
student_info('Molly',18)
使用偏函数
from functools import partial
def student_info(name, age, city):
print(f'我的名字叫{name}, 今年{age}岁,来自{city}')
student_info_beijing = partial(student_info, city='北京')
student_info_beijing('Molly',18)
student_info_beijing('Molly',18, city='上海')
示例2:
def add_xy(x,y):
return x+y
add_100 = partial(add_xy, y=100)
add_100(10)