码迷,mamicode.com
首页 > 编程语言 > 详细

python匿名函数的介绍及用途

时间:2019-08-17 23:55:34      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:ssi   ret   匿名函数   一个   定义   def   字符   关键字   计算   

匿名函数

用lambda能够创建一个匿名函数,这中函数得名于省略了用def声明函数的标准步骤。

语法

lambda [arg1 [,arg2,.....argn]]:expression

如何使用

  1. 我们正常定义一个函数时是这样的
def add(a,b):
    return a+b
  1. 使用lambda定义匿名函数是这样的
add = lambda a,b:a+b # 和上面函数功能一样

按正常的调用方式即可。lambda表达式能够接收任何数量的参数但只能返回一个表达式的值。

用途

1.就像上文所述能后够简化代码

2.匿名函数作为参数传递

  1. 作为自定义函数的参数传递
def test(a, b, func):
    result = func(a, b)
    print(result)


func_new = input("请输入一个匿名函数:")
# eval()将字符串str当成有效的表达式来求值并返回计算结果。
func_new = eval(func_new)

test(11, 22, func_new)

"""
输出结果:
请输入一个匿名函数:lambda a,b:a+b
33
"""
  1. 作为内置函数的参数传递
    例如:将列表中的字典按照指定的关键字进行排序
stus = [
    {"name":"zhangsan", "age":18}, 
    {"name":"lisi", "age":19}, 
    {"name":"wangwu", "age":17}
]
stus.sort(key = lambda x:x['age'])

for stu in stus:
    print(stu)

"""
输出结果:
{'name': 'wangwu', 'age': 17}
{'name': 'zhangsan', 'age': 18}
{'name': 'lisi', 'age': 19}
"""

python匿名函数的介绍及用途

标签:ssi   ret   匿名函数   一个   定义   def   字符   关键字   计算   

原文地址:https://www.cnblogs.com/lxy0/p/11370894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!