Python中的lambda表达式

概述

Python中的lambda关键字,可以用来创建一个小的匿名函数,即它的返回值是一个函数对象。
lambda函数可以在需要函数的任何地方使用
与嵌套函数一样,lambda函数可以引用所包含域的变量
lambda函数可以接受任意数量的参数,参数之间使用逗号分隔,但是只能有一个表达式
lambda表达式的语法格式

lambda [arg1 [, arg2 [, arg3 ...]]] : expression

实例演示:

不带参数的lambda表达式

if __name__ == "__main__":
  x = lambda : '这是一个不带参数的lambda表达式'
  print(x())

输出:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/02.py
这是一个不带参数的lambda表达式
Process finished with exit code 0

带参数的lambda表达式

计算两个数之和

if __name__ == "__main__":
  x = lambda arg1, arg2: arg1 + arg2
  print(x(10, 20))

输出:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/02.py
30
Process finished with exit code 0

带任意参数的lambda表达式

if __name__ == "__main__":
  x = lambda *args: print(args)
  x(10, 20, 30)

输出:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/02.py
(10, 20, 30)
Process finished with exit code 0

使用lambda表达式的好处

可以这样理解Python的lambda表达式:把它看作一个函数模板,可以根据不同的参数返回不同功能的函数对象,即使用相同的函数定义来生成不同功能的函数。
如下面的lambda表达式,用来生成一个计算一个数平方的函数和一个用来计算一个数立方的函数

def tempFunc(power):
  return lambda num : num ** power

if __name__ == "__main__":
  square = tempFunc(2);
  print(square(10))
  cube = tempFunc(3);
  print(cube(10))

输出:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/02.py
100
1000
Process finished with exit code 0

[上一页][下一页]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值