Python-lambda 匿名函数

简介

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

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

DEMO

两种使用方式

  1. g = lambda x:x+1

      g(1)
      >>>2
      g(2)
      >>>3

  2. lambda x:x+1(1) -->2


TIPS

如果可以使用for...in...if来完成的,坚决不用lambda。

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>>
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
print [x for x in foo if x % 3 == 0]
posted @ 2021-12-13 10:47  TesterBenja  阅读(25)  评论(0)    收藏  举报