一、lambda函数的简介 

对lambda函数,它其实是一个类似于def的函数,只不过lambda是一个不需要定义函数名的匿名函数。当我们在有些时候,需要做一些简单的数学计算时,如果定义一个def函数显得过于繁琐,但是不定义一个类似“函数”的对象,又显得不太方便,所以这里lambda函数就派上用场了。首先我们先来看看lambda函数是如何使用的。

二、lambda函数的使用 

这里我们定义一个一元一次函数,y=2x+1,用Python来计算一串数字经过该函数之后的y值。我们就可以定义lambda函数。

$: qiu_y = lambda x:2*x + 1  #在命令行中定义一个匿名函数  即y=2x+1  如图中的In[1]

这个时候我们就已经定义好了一个匿名函数,这个匿名函数我们可以通过调用qiu_y这个变量名来进行调用,调用过程如下:

$: qiu_y(2) #这是计算当x=2时,y的值,也就是5  如图中的In[2]

我们还可以通过列表的方式来进行计算一串数字:

$: [qiu_y(i) for i in range(1,10)] #这时计算当x=从1到9时,对应y的值,返回一个列表格式的数据   如图中的In[3]

三、lambda和def的异同

1.lambda是一个用来编写小体量函数的方法;而def通常则是用来写一个功能较大的,代码量较多的函数。

2.lambda定义的函数称为匿名函数,是一个表达式,类似于def函数中的return语句,是可以放在代码中运行的表达式,可以一边定义一边使用;而def则是一个模块,不能单独放在代码中运行,必须先定义,再使用。

3.由lambda定义的函数可以不需要函数名,即匿名函数;而由def定义的函数而是需要一个函数名,没有函数名会报错。

4.二者都可以设置参数或者不设置参数,lambda不设置参数时,可以是这样:

 四、lambda总结

对于匿名函数lambda来讲,这其实可以是一个非常方便的函数表达式(我们可以这样称呼它)。当我们需要做一些简单的重复操作时,我们可以使用lambda匿名函数来帮我们;当我们需要处理一些比较复杂的问题时,我们就需要使用def来定义函数来,且def定义的函数也更方便代码的复用。

今天就先讲到这里,如果有疑问,我们可以通过邮箱一起共同学习。


Python中的匿名函数lambda的用法的更多相关文章

  1. python做中学(八)匿名函数lambda的用法

    匿名函数,顾名思义即没有名称的函数,和def定义的函数的最大区别在于匿名函数创建后返回函数本身(即匿名函数不需要return来返回值),表达式本身结果就是返回值,而def创建后则赋值给一个变量名,在P ...

  2. Python 中的匿名函数,你滥用了吗?

    概念 我们从一个例子引入. 这里有一个元素为非空字符串的列表,按字符串最后一个字母将列表进行排序.如果原列表是 ['abc', 'g', 'def'],则结果应该是 ['abc', 'def', 'g ...

  3. python中的匿名函数

    python 使用 lambda 来创建匿名函数. 所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数. lambda 只是一个表达式,函数体比 def 简单很多. lambda的主体是一 ...

  4. Qt中使用匿名函数lambda表达式

    一.为什么要使用匿名函数lamdba 首先,lambda表达式可以使代码变得简单,C++中,一个lambda表达式表示一个可调用的代码单元.如代码: #include <QCoreApplica ...

  5. python 中的匿名函数lamda和functools模块

    为什么 要把匿名函数和functools模块写在一起? 因为 lamda函数和functools模块都是对函数一种增强或者是简化. 匿名函数: 为了解决那些功能很简单的需求而设计一次性的需求函数 #& ...

  6. golang中的匿名函数三种用法

    package main import ( "fmt" "strconv" ) func main() { // 匿名函数的使用:方式1 f1 := func( ...

  7. Python中 filter | map | reduce | lambda的用法

      1.filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tupl ...

  8. python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))

    1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...

  9. 匿名函数lambda

    匿名函数的定义 在python中,匿名函数的定义如下: func =lambda x:x+1 #定义匿名函数,x为传参,x+1为返回值,func为函数名 res = func(10) #执行匿名函数 ...

随机推荐

  1. Win10 Notebook

    E:\Perl\site\bin;E:\Perl\bin;C:\Program Files\Microsoft MPI\Bin\;C:\ProgramData\Oracle\Java\javapath ...

  2. golang语言基础(一)

    0.项目的组织结构: GOPATH路径下是src文件夹---->src文件夹下是项目名称---->项目名称下是该项目的各个包名---->各包名下是.go文件(一个包下,无论有多少个. ...

  3. 事务传播性、隔离性与MVCC

    一.事务传播性 1.1 什么是事务的传播性 事务的传播性一般在事务嵌套时候使用,比如在事务A里面调用了另外一个使用事务的方法,那么这俩个事务是各自作为独立的事务执行提交,还是内层的事务合并到外层的事务 ...

  4. Linux enca命令

    一.简介 enca是Linux下的文件编码转换工具. 二.安装 http://dl.cihar.com/enca/   http://www.2cto.com/os/201404/295528.htm ...

  5. nano编辑器

    1.ctrl+O 2.回车 3.ctrl+exit

  6. git 上传项目

    参考:https://blog.csdn.net/qq_28304687/article/details/69959238?fps=1&locationNum=8 第一部分 初次上传 1.先在 ...

  7. Codeforces766A Mahmoud and Longest Uncommon Subsequence 2017-02-21 13:42 46人阅读 评论(0) 收藏

    A. Mahmoud and Longest Uncommon Subsequence time limit per test 2 seconds memory limit per test 256 ...

  8. [label][IDE] Develop Node.js Project With WebStorm

    WebStorm 是一个支持 Node.js,CoffeeScript, TypeScript, Dart, Jade, Sass, LESS and Stylus 这些最新 web 开发技术的集成开 ...

  9. D3.js的基础部分之数组的处理 映射(v3版本)

    映射(Map)   映射(Map)是十分常见的一种数据结构,由一系列键(key)和值(value)组成的.每个key对应一个value,根据key可以获取和设定value,也可以根据key来查询val ...

  10. 深入CSS属性(九):z-index

    如果你不是一名csser新手,想必你对z-index的用法应该有个大致的了解了吧,z-index可以控制定位元素在垂直于显示屏方向(Z 轴)上的堆叠顺序,本文不去讲述基本的API如何使用,而是去更深入 ...