匿名函数

匿名函数
匿名指的就是没有名字
其最明显的特点就是,
有名字的值可以多次使用,多次访问
而没有名字的值,只能临时使用一次,用完就没了
匿名函数与有名函数的区别
参数不需要括号,并且支持所有类型的参数
名称空间与作用域关系完全相同
关键字为lambda
函数体中不能写return ,会自动将执行结果返回
函数体只能有一个表达式且不能换行
匿名函数什么时候使用
当你的函数的函数体只有一行表达式时并且仅使用一次时就可以作为匿名函数
更多的是与内置函数联用,(max,min,sorted,map,filter,reduce)
# def my_max(a,b):
#     return a if a > b else b
#
# f1 = lambda a,b=1:a if a > b else b
#
# print(f1(1,200))

将字典中的元素按照值的大小排序(max min)
salary = {
    "egon":250,
    "zgon":500,
    "bgon":20000,
}

print(max(salary,key=lambda k:salary[k])) #这个key是用来指定比较方式的关键字
print(min(salary,key=lambda k:salary[k]))
 当默认的比较方式无法满足需求是 就可以通过传入一个函数来决定用什么比较(
这个key是用来指定比较方式的关键字
)
函数可以是匿名也可以是有名的,很明显这时候匿名函数更好



原文地址:https://www.cnblogs.com/Hale-wang/p/10284381.html