Lambda函数也是Python编程中经常会遇到、经常要用到的内置函数之一。那么,到底什么是Lambda函数?为什么要使用lambda?还有,应该什么时候用lambda?接下来咱们逐一分析。

  1. 什么是lambda函数?

lambda定义了一个匿名函数,即只有函数体,没有函数名称,也没有def和return。比如:

g = lambda x:x**2

看一下执行的结果:

g(2)
>>>4
g(3)
>>>9

lambda后跟的内容可分为两块:参数和函数体,上例中x为参数,x+1为函数体。如果用我们熟悉的函数来表示为:

def 

2. 为什么要用lambda?

既然lambda表达式和Python定义的函数能实现相同的功能, 那我们为什么要用lambda?主要有下面三个原因:

  • 有些时候python函数无法使用的地方,lambda表达式依然可以使用,而且更方便简洁
  • 函数要起名,但这是一个很困难的事情,而且容易重名,但是lambda表达式就不太是一个问题。
  • lambda表达式只需要一行,能够使你的代码更加简洁优雅

3. 什么时候用lambda?

当你需要一个仅在一个地方有效的函数, 并且只做一件事情,那么就用lambda。比如,lambda经常用在sorted 函数的 key 参数中。所以,可以认为,lambda的主要目的是为了减少单行函数的定义。

lambda不会提高代码执行效率,它只是定义了一个匿名函数,使我们的代码更加简洁,而且在某种程度上可读性更高。

注意:

  • 如果可以使用for...in...if来完成的,坚决不用lambda。
  • 如果使用lambda,lambda内不要包含循环,否则,最好定义函数来完成,使代码获得可重用性和更好的可读性。

lambda函数if_Lambda函数用法总结相关推荐

  1. python怎么用lambda和map函数_Python之lambda匿名函数及map和filter的用法

    现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}] t1 = (('a'), ('c')) t2 = ( ...

  2. python匿名函数Lambda的两种用法

    python匿名函数Lambda的两种用法 第一种方式:作为函数对象单独使用 第二种方式:放在另一函数里使用 一般来说匿名函数Lambda的使用就是为了避免单独def一个函数,而且不用给函数命名,但是 ...

  3. 【C++11】lambda函数及其基本用法

    目录 即看即用 详情 基本概念和用法 捕获列表 lambda表达式的类型 即看即用 语法: [capture](parameters)->return-type {body} []叫做捕获说明符 ...

  4. python用psf函数_Python 嵌套函数(高级用法)

    Python 嵌套函数(高级用法) 一.嵌套函数(高级用法) 1.嵌套函数 函数的嵌套调用是在"函数调用中再调用其他函数".也就是说:函数嵌套允许在一个函数中调用另外一个函数.如下 ...

  5. python学习-高阶函数(函数传参、返回函数(闭包)、匿名函数lambda)

    文章目录 高阶函数 函数传参 返回函数(闭包) 匿名函数lambda 高阶函数 定义: 至少满足下列一个条件: 接受一个或多个函数作为输入 输出一个函数 python里的高阶函数有 filter.ma ...

  6. python中mat函数_Python中flatten( )函数及函数用法详解

    flatten()函数用法 flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组. flatten只能适用于numpy对象,即array或者mat,普通的list列 ...

  7. python中的zip、map、reduce 、lambda、filter函数的使用

    飞机票 lambda函数 lambda只是一个表达式,函数体比def简单很多. lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去. lambda表达式是 ...

  8. Python函数(函数定义、函数调用)用法详解

    函数 函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码. 函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码.函数还可以接 ...

  9. MSSQL Sql加密函数 hashbytes 用法简介

    原文:MSSQL Sql加密函数 hashbytes 用法简介 转自:http://www.maomao365.com/?p=4732 一.mssql sql hashbytes 函数简介 hashb ...

最新文章

  1. gdb php-fpm,使用 gdb 调试 php-fpm 异常错误
  2. 最新的PHP trait使用方法详解
  3. 英语口语智能测试软件,口语易英语口语智能评测训系统 官方版v7.9
  4. 并行编程——内存模型之缓存一致性
  5. python访问mysql_python连接mysql
  6. 方丹丹(1981-),女,就职于宁波市智慧城市规划标准发展研究院。
  7. 海盐商贸学校计算机类试卷,海盐县商贸学校
  8. 通过php jq ajax 提交form表单
  9. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEM...
  10. 2.卷1(套接字联网API)---传输层:TCP,UDP 和 SCTP
  11. 【TSP】基于matlab遗传算法求解31城市旅行商问题【含Matlab源码 1150期】
  12. eclipse中基于maven构建多模块项目
  13. Java开发手册 Java学习手册教程(MtJava开发手册)
  14. EDEM基础操作步骤
  15. git 创库命令使用
  16. bitbucket配置_用Bitbucket搭建博客初探
  17. pip install xx 时遇到There was a problem confirming the ssl certificate...的解决办法
  18. mac 远程连接win7桌面
  19. 如何在虚拟机中VMware安装centos_6
  20. Ajax请求成功却执行error回调方法(Ajax跨域请求问题)

热门文章

  1. 锐捷交换机 查看端口流量信息
  2. 【近万字】分数傅里叶变换课程学习笔记
  3. antd upload手动上传_SpringBoot 如何上传大文件?
  4. input html5 新特性,html5 input 新特性
  5. linux 影院 ftp客户端20端口号,Linux下的ftp客户端说明文档
  6. Mysql复习(基础概念+基础操作)
  7. linux内核网络基础,linux网络内核基础.doc
  8. mysql错误归纳_MySQL错误信息总结
  9. php-mysql rpm_Linux下的mysql apache php rpm安装方法步骤(转载并补充细节)
  10. wdatepicker不显示秒_为什么别人电脑开机只要3秒,你有固态硬盘却要等上18秒?...