特殊的函数定义和使用
匿名函数
传递函数的参数
递归函数
1)匿名函数
#定义一个名称为max的函数,传递两个参数,两个形参名称为num1,num2
def max(num1, num2):
#如果num1的值大于num2的值
if num1 > num2:
#返回num1的值
return num1
#否则,num2的值大于num1的值,
else:
#返回num2的值
return num2
#调用max函数,传递两个参数,并将函数的返回结果打印输出
print(max(3, 2))
max =lambda num1, num2: num1if num1 > num2else num2
print(max(3, 2))
#冒号之前的变量,是函数的参数
#匿名函数不需要return来返回值,表达式本身结果就是返回值
#进一步简化
print((lambda num1,num2:num1if num1 > num2else num2)(3, 9))
有人质疑匿名函数的使用
简化的代码会造成代码的可读性下降,从而增加出错的可能,但是有些场合,匿名函数可以起到特殊的效果
#特殊场合的使用匿名函数
#比如排序函数,通过匿名函数可以设定排序的规则,如:
nums = [-4, 10, 5, -9, 0]
print(sorted(nums,key=lambda a:abs(a)))
网友评论