Python Lambda表达式(匿名函数)用法全解析
本文详细解析Python中Lambda表达式(匿名函数)的多种写法。内容涵盖基础定义、无参与多参用法、万能参数处理、闭包变量引用、三元运算结合以及列表存储调用等场景,通过具体代码示例展示其简洁高效的特性,帮助开发者快速掌握匿名函数的实际应用。
Python Lambda表达式基础与定义
本文深入解析Python中Lambda表达式(即匿名函数)的具体写法。文中通过详细的示例代码进行说明,旨在为读者的学习或工作提供具有实际价值的参考,建议相关读者仔细阅读并参考。
# lambda表达式,为了解决简单函数的情况,如:
def func(a1,a2):
return a1 + a2
func = lambda a1,a2:a1+a2
# 上面这两个是一样的
Lambda与常规函数的等价性
def func1(a1,a2):
return a1 + a2
func2 = lambda a1,a2:a1+a2
wdc = func1(100,200)
yhf = func2(100,200)
# 输出结果是一样的,两种方式一样
print(wdc)
print(yhf)
除了基础用法外,Lambda表达式还有多种灵活的使用方式:
参数传递与万能参数处理
func1 = lambda :100
# 表示函数没参数,只返回一个100
print(func1())
func2 = lambda x1:x1 + 100
# 表示函数传递一个参数,返回x1+100
print(func2(100))
func3 = lambda *args,**kwargs:len(args)+len(kwargs)
# 可以传递万能参数
print(func3(1,2,3,wdc=123))
需要明确的是,Lambda表达式必须在一行内完成定义,不支持在内部创建独立的变量或执行多行语句。
闭包与外部变量引用
data = 100
# 可以接受父作用域中的变量
func4 = lambda a1:a1+data
print(func4(123))
结合三元运算的逻辑判断
# lambda 表达式和三元运算的结合:输出两个值中的最大值
func = lambda a1,a2:a1 if a1 > a2 else a2
print(func(1,5))
最后值得一提的是,Lambda表达式还可以被存储在列表中,从而实现更复杂的调用逻辑。
Lambda在列表中的应用
func_list = [lambda x:x.strip(),lambda y:y+100,lambda x,y:x+y]
v1 = func_list[0]('wdc ')
# 把后面空格去掉了
print(v1)
v2 = func_list[1](100)
print(v2)
v3 = func_list[2](1,2)
print(v3)
以上内容即为本文关于Python Lambda表达式的完整介绍,希望能对各位的学习有所帮助。如果觉得有用,欢迎继续支持本站获取更多技术内容。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













