作者说学会了lambda后,你会用上瘾的,因为让代码复用和简洁。

初识lamdba不太好理解,尤其是它能当着一个变量传递给函数,不过多学着写几个例子就好了,下面是我的学习笔记。

lambda 操作符(或 lambda函数)通常用来创建小巧的,一次性的匿名函数对象。它的基本语法如下:

lambda arguments : expression

lambda操作符可以有任意数量的参数,但是它只能有一个表达式,且不能包含任何语句,返回一个可以赋值给任何变量的函数对象。

下面通过一个例子来理解一下。首先看看一个Python函数:

def add(x, y):
return x+y # call the function
add(1, 2) # Output: 3

上述函数名为add, 它需要两个参数x和y,并返回它们的和。
接下来,我们把上面的函数变成一个lambda函数:

add = lambda x, y : x + y

print(add(1,2))  # Output: 3

lambda x, y : x + y中,x和y是函数的参数,x+y是表达式,它被执行并返回结果。
lambda x, y : x + y返回的是一个函数对象,它可以被赋值给任何变量。在本例中函数对象被赋值给了add变量。如果我们查看add的type,可以看到它是一个function

type(add)  # Output: function

绝大多数lambda函数作为一个参数传给一个需要函数对象为参数的函数,比如map,reduce,filter等函数。

文章首发于我的技术博客猿人学Python基础教程

最新文章

  1. windows编程中关于“关闭窗口无法退出进程”的解决方法
  2. 一本很不错的书----DOOM启示录
  3. PHP获取解析URL方法
  4. XXX is not in the sudoers file.This incident will be reported
  5. SQL存储过程传入字段名查询.
  6. 树形结构的维护:BZOJ 3991: [SDOI2015]寻宝游戏
  7. Log4Qt 使用(一)
  8. HDU 4507 有点复杂却不难的数位DP
  9. C#多线程-volatile、lock关键字
  10. 基于cxf开发restful风格的Web Service
  11. SQL ServerAlways Encrypted Data
  12. PE知识复习之PE的各种头属性解析
  13. 单元测试_JUnit常用单元测试注解介绍及代码演示
  14. java如何快速创建List
  15. 浅谈HTTP中GET、POST用法以及它们的区别
  16. 安装Vue和创建一个Vue脚手架项目
  17. 温馨小程序前端布局Flex
  18. vue 要点
  19. SpringBoot(五)-- 整合Spring的拦截器
  20. UVA-10995 Educational Journey

热门文章

  1. Linux命令集锦:scp命令
  2. Java日志体系(六)log4j2
  3. Hadoop集群安装压缩工具Snappy,用于Hbase
  4. unity2d教程
  5. Laravel的Nginx重写规则--让路由支持末尾加斜线
  6. 今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个
  7. day30 OSI七层协议
  8. 不要轻易使用ffmpeg的audio_device_number来设置音频设备
  9. springboot整合servlet
  10. 【转帖】刘备三顾茅庐,请Elasticsearch出山