Python 37 匿名函数

特殊的函数定义和使用

匿名函数

传递函数的参数

递归函数

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)))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容