在Python中还可以定义匿名函数(在定义一个函数的时候不需要定义函数名)
使用
lambda
关键字定义匿名函数,返回的时候不用return
返回,直接冒号后面表达式的计算结果将作为匿名函数的返回结果,不需要return
关键字
# 有名函数
def add(x,y):
return x+y
# 匿名函数
lambda x,y : x + y
如何调用匿名函数?在
Python
中可以把一个函数赋给一个变量。
def add(x,y):
return x+y
f = lambda x,y : x + y
#调用有名函数
print(add(1,2))
# 调用匿名函数
print(f(1,2))
------------------------------------
输出:
3
3
这个匿名函数称为lambda表达式更为合理,因为
冒号
后面且必须是表达式
,如果将上面的x+y
改为a = x + y
,Python
就会报错不能赋值
def add(x,y):
return x+y
f = lambda x,y : a = x + y
----------------------------------------------------
File "E:/projects/python_learn/twelve/c1.py", line 10
f = lambda x,y : a = x + y
^
SyntaxError: can't assign to lambda