当前位置:  编程技术>python

Python中lambda的用法及其与def的区别解析

    来源: 互联网  发布时间:2014-10-09

    本文导语:  python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样: 1. python lambda会创建一个函数对象,但不会把这个函数对象赋给一...

python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样:

1. python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。

2. python lambda它只是一个表达式,而def则是一个语句。

下面是python lambda的格式,看起来非常精简。

lambda x: print x

如果你在python 列表解析里用到python lambda,感觉意义并不是很大,因为python lambda它会创建一个函数对象,但马上又给丢弃了,因为你没有使用它的返回值,即那个函数对象。也正是由于lambda只是一个表达式,它可以直接作为python 列表或python 字典的成员,比如:

info = [lamba a: a**3, lambda b: b**3]

在这个地方没有办法用def语句直接代替。因为def是语句,不是表达式不能嵌套在里面,lambda表达式在“:”后只能有一个表达式。也就是说,在def中,用return可以返回的也可以放在lambda后面,不能用return返回的也不能定义在python lambda后面。因此,像if或for或print这种语句就不能用于lambda中,lambda一般只用来定义简单的函数。

下面举几个python lambda的例子:

1.单个参数的情况:

g = lambda x*2
print g(3)

运行结果是6

2.多个参数的情况:

m = lambda x,y,z: (x-y)*z
print m(3,1,2)

运行结果是4


    
 
 

您可能感兴趣的文章:

  • Python异常模块traceback用法举例
  • python中去空格函数的用法
  • Python3中内置类型bytes和str用法及byte和string之间各种编码转换
  • python 字符串split的用法分享
  • 测试Python内部类型及type和isinstance用法区别
  • Python的print用法示例
  • python内置映射类型(mapping type):dict哈希字典遍历方式及其它用法举例
  • Python with的用法
  • python del()函数用法
  • python中enumerate的用法实例解析
  • Python continue语句用法实例
  • Python中apply函数的用法实例教程
  • python中cPickle用法例子分享
  • 用实例说明python的*args和**kwargs用法
  • Python中__call__用法实例
  • python pickle 和 shelve模块的用法
  • python的类变量和成员变量用法实例教程
  • python list中append()与extend()用法分享
  • Python help()函数用法详解
  • Python Tkinter基础控件用法
  • Python的一些用法分享
  • 基于Python的Html/xml解析库Beautiful Soup 4.2.1发布
  • python实现dnspod自动更新dns解析的方法
  • 基于Python的html解析库:pyquery最新版主页及pyquery下载
  • python解析xml文件实例分享
  • Python下Html/xml解析库Beautiful Soup快速入门教程
  • python解析json实例方法
  • python下xml解析库lxml最新版下载安装以及代码示例
  • Python 解析XML文件
  • python对XML的解析方法(SAX,DOM,ElementTree)介绍
  • python使用scrapy解析js示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python基础教程之lambda表达式使用方法
  • Python的lambda匿名函数的简单介绍
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • 使用setup.py安装python包和卸载python包的方法
  • Python中实现json字符串和dict类型的互转
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python异常信息堆栈输出到日志文件
  • python读取csv文件示例(python操作csv)
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • python基础教程之python消息摘要算法使用示例
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • 新手该如何学python怎么学好python?
  • Python获取网页编码的方法及示例代码
  • 使用python删除nginx缓存文件示例(python文件操作)
  • python之平台独立的调试工具winpdb介绍
  • python学习手册中的python多态示例代码
  • Python namedtuple(命名元组)使用实例
  • 请教:system("C:\python2.4\python.exe C:\aa.py");该语句有何错误?为什么运行界面一闪就消失了并且没有运行完,请给出正确语句!
  • Python将日期时间按照格式转换成字符串
  • python版本的问题
  • Python 3 Tkinter教程之事件Event绑定处理代码实例
  • Mac OS X10.9安装的Python2.7升级Python3.3步骤详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    编程语言 iis7站长之家