简介:lambda表达式是Python中一类特殊的定义函数的形式,使用它可以定义一个匿名函数。与其它语言不同,Python的Lambda表达式的函数体只能有单独的一条语句,也就是返回值表达式语句。
示例:表达式 - lambda 形参列表 : 函数返回值表达式语句
# -*- coding: utf-8 -*-
num = lambda x, y: x ** 2 + y ** 2
print(num(1, 2)) # 5 = 1的平方 + 2的平方
print(num(2, 3)) # 13 = 2的平方 + 3的平方
# lambda x, y: x ** 2 + y ** 2
# 等价于:下面的函数
def n(x, y):
return x ** 2 + y ** 2
print(n(1, 2)) # 5
print(n(2, 3)) # 13
注意事项:
lambda 只是一个表达式,函数体比 def 简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!