Python使用lambda表达式

Lambda表达式是一个匿名函数,语法格式如下:

1
lambda [parameter_list]: 表达式

语法格式要点:

  • 必须使用lambda关键字定义
  • 在 lambda 关键字之后、冒号左边的是参数列表,可以没有参数,也可以有多个参数。如果有多个参数,则需要用逗号隔开,冒号右边是该 lambda 表达式的返回值

例如:

1
lambda x , y:x + y

可改写成如下函数形式:

1
2
def add(x, y):
return x+ y

相比之下lambda表达式让代码更简洁,对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高了性能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# encoding:utf8

import logging

logging.basicConfig(level = logging.DEBUG,format = '%(levelname)s - %(message)s')
# logger从来不直接实例化,经常通过logging模块级方法(Module-Level Function)logging.getLogger(name)来获得
logger = logging.getLogger(__name__)


x = map(lambda x: x*x, range(8))
logger.debug(x)

g = lambda x:x+1
logger.debug(g(1))

输出结果:

1
2
DEBUG - [0, 1, 4, 9, 16, 25, 36, 49]
DEBUG - 2
有用就打赏一下作者吧!