匿名函数 python 使用 lambda 来创建匿名函数。 所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。 lambda 只是一个表达式,函数体比 def 简单很多。 lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。 lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。 #!/usr/bin/python # -*- coding: utf-8 -*- sum=lambda arg1,arg2:arg1+arg2 print(sum(11,22))#33 ------------------------------------------------------ #排名成绩 #!/usr/bin/python #Filename:support.py from operator import itemgetter students = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] print(sorted(students, key=lambda t: t[1])) ------------------------------------------------------ list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) [1, 4, 9, 16, 25, 36, 49, 64, 81] ------------------------------------------------------ 匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数: f = lambda x: x * x >>> f <function <lambda> at 0x101c6ef28> >>> f(5) 25 同样,也可以把匿名函数作为返回值返回,比如: def build(x, y): return lambda: x * x + y * y ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ 分享知识,分享快乐!希望中国站在编程之巅!
360图书馆馆号:rsgz002.360doc.com |
|