在C++11和C#中都有匿名函数的存在。下面看看在python中匿名函数的使用。

1.lambda只是一个表达式,函数体比def简单很多。

2.lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。

3.lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。

例1.定义一个lambda表达式,求三个数的和

# -*- coding: UTF-8 -*-

f = lambda x,y,z:x + y + z

print f(1,2,3)

print f(4,5,6)

输出:

6

15

例2.用lambda表达式求n的阶乘

# -*- coding: UTF-8 -*-

n = 5

print reduce(lambda x,y:x*y,range(1,n+1))

输出:120

4.lambda表达式也可以用在def函数中

# -*- coding: UTF-8 -*-

def action(x):

return lambda y:x + y

a = action(2)

print a(22)

输出:24

这里定义了一个action函数,返回了一个lambda表达式。其中lambda表达式获取到了上层def作用域的变量名x的值。

a是action函数的返回值,a(22),即是调用了action返回的lambda表达式。

这里也可以把def直接写成lambda形式。如下

# -*- coding: UTF-8 -*-

b = lambda x:lambda y:x + y

a = b(3)

print a(2)

print (b(2))(2)

输出:

5

4

好了这篇文章就结束到这了,需要的朋友可以看下面的相关内容

本文标题: python中lambda()的用法

本文地址: http://www.cppcns.com/jiaoben/python/211100.html

python中lambda()的用法_python中lambda()的用法相关推荐

  1. python or的用法_python中and和or的用法

    原博文 2013-01-19 13:40 − From <dive into python> python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第 ...

  2. python map lambda 分割字符串_python之lambda、filter、map、reduce的用法说明(基于python2)...

    python中有一些非常有趣的函数,面试的时候可能会遇到.今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,m ...

  3. python常用函数的用法_python中常用函数整理

    1.map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象. class map(object):""&qu ...

  4. python lambda表达式及用法_Python:lambda表达式和yield关键字理解与使用讲解

    一.lambda表达式 1.1.lambda表达式理解 lambda的主体是一个表达式,而不是一个代码块,仅仅能在lambda表达式中封装有限的逻辑进去.如果要通俗的理解lambda表达式,可以结合C ...

  5. python map用法_Python中 map()函数的用法详解

    python map()函数问题 使用map()函数生成一个值D但是检测D的长度时,只能测一次,一次之后D似不知道你的dataSet 是什么数据,是否是从数据库取出来的结果游标, 如果是的 那么dat ...

  6. python中case的用法_python中Switch/Case实现的示例代码

    python 的 python中Switch/Case实现的示例代码 学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现 ...

  7. [转载] python中string函数的用法_python中string模块各属性以及函数的用法

    参考链接: Python中的string.octdigits 任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作. python的字符 ...

  8. python not用法_python中not、and和or的优先级与详细用法介绍

    前言 (小白专用)本次所分享的是python中的not.and.or的执行时的优先级,以及他们的具体用法.本文比较详细,不喜勿喷. 一.not.and.or的含义以及优先级 对象 返回结果 优先顺序 ...

  9. python中try的用法_python中的 try...except...finally 的用法

    python中的 try...except...finally 的用法 author:headsen chen date:2018-04-09 16:22:11 try, except, finall ...

  10. python中strip的用法_Python中你不知道的strip()函数的妙用

    [开胃小菜] 当提到python中strip方法,想必凡接触过python的同行都知道它主要用来切除空格.有以下两种方法来实现. 方法一:用内置函数if name == 'main' : str = ...

最新文章

  1. webview键盘自适应_苹果笔记本显示器键盘专利曝光:单按键可重新配置
  2. ios 应用 开发流程。。。
  3. Catalyst6500系列引擎上MSFC和PFC的区别
  4. Hopsan完全编译构建指南
  5. 低功耗设计——功耗估算
  6. gb-heima/order 项目 处理
  7. 火狐浏览器title过长显示不全_浏览器渲染
  8. SQL 年龄段 品牌分类 分组统计
  9. [转]如何使用WinPE硬盘安装Windows XP
  10. 6.2.2 构造函数模式
  11. C++11 之for 新解
  12. 1.1模式识别的重要性
  13. Origin图例去除边框
  14. mysql当前时间的本月_mysql 获得当前月1号的日期 和 0点日期方法
  15. python迭代器是什么百度百科_【python】迭代器与生成器究竟是什么?看完你就知道...
  16. bp神经网络预测python人口预测_BP神经网络人口预测程序(matlab实现)
  17. JAVASE基础模块十五(StringBuffer类)
  18. 【git新建分支拉取分支】git submodule update --init --recursive
  19. selenium源码通读·5 |webdriver/common/action_chains.py-ActionChains类
  20. 服务器型号E52680,八核心Intel Xeon E5-2680性能大爆光

热门文章

  1. python如何并发上千个get_Python拓展21(python3X之百万并发借鉴)
  2. hive表级权限控制_数据库权限管理:表、行、列级别的权限控制
  3. python非零返回怎么解决_Python:从命令行获取输出,该命令行以非零退出代码退出...
  4. verilog实现汉明权重_(学习Verilog)6. FIR IP核的基础功能使用总结
  5. Python机器学习:KNN算法08更多思考
  6. GP学习(五)—ArcGIS Toolbox Reference dialog box
  7. android+后台+拍照,Android相机无法从后台服务拍照
  8. Redis HyperLogLog
  9. 微信小程序流量主+直播开通和编码指南
  10. pytorch测试模型时根据不同列别的概率值得到具体的分类