python课上讲到的一个知识点,lambda函数,最开始听的时候迷迷糊糊,整理网上的一些结论得到了一些理解。
python可以分为两种函数,一种def定义函数,一种lambda匿名函数。
前者与C语言、Java的定义方法相同,需要函数名,函数体,有无返回值等等。而后者给前者起了简化的作用,无需定义函数名,只需参数形式和表达式。
格式:
lambda argument_list:expersion
argument_list是参数列表,expression是一个关于参数的表达式
举例:
def calculate_fun(opr):
if opr == '+':
return lambda a,b:(a+b) # 设计一个匿名函数,功能是把引入的参数相加
else:
return lambda a,b:(a-b) # 同理
# lambda函数设计出来就是简化def的
# lambda匿名函数,无需设计函数名
f1 = calculate_fun('+')
f2 = calculate_fun('-')
print(type(f1))
print("10+5={0}".format(f1(10,5)))
print("10-5={0}".format(f2(10,5)))
参考文章:
https://blog.csdn.net/weixin_41334453/article/details/102837517