程序员

lambda匿名函数

2018-11-27  本文已影响4人  MA木易YA

匿名函数

python 使用 lambda 来创建匿名函数。

  1. lambda只是一个表达式,函数体比def简单很多。
  2. lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  3. lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
  4. 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

语法

lambda函数的语法只包含一个语句,如下:

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

示例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;
 
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )

扩展

之前在list的排序中也用到了lamba函数来对字符串长度进行计量

li = ["hello", "test", "python"]
li.sort(key=lambda elem: len(elem))
print(li)
上一篇下一篇

猜你喜欢

热点阅读