匿名函数

匿名函数

  • 匿名函数(lambda表达式):
    • 除了def语句之外,我们还可以使用lambda表达式创建函数
    • 这样创建出来的函数,需要额外使用变量名保存
    • 匿名函数一般用来创建简单函数,或制作跳转表

语法格式

lambda 参数1,参数2,参数3,参数N:表达式
1
2
3
>>> f = lambda x,y : x+y
>>> f(1,2)
3

缺省参数也可以在lambda中使用
注意缺省参数定义顺序

1
2
3
4
5
6
>>> f = lambda x,y=1 : x+y
>>> f(10)
11
>>> f = lambda x=1,y : x+y #缺省参数定义顺序一定是从右向左
File "<stdin>", line 1
SyntaxError: non-default argument follows default argument

跳转表

跳转表 (jump table):函数方法的列表字典,能够按照需要执行相应的动作

1
2
3
L = [ lambda x:x*2  , lambda x:x*3 , lambda x:x*4] #含有三个lambda函数的列表
for f in L:
print(f(2))

转载请注明原文地址

您的支持将被用作发行更高质量原创技术!