python中lambda()的用法

作者:mdxy-dxy 时间:2022-07-19 05:15:45 

在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
0
投稿

猜你喜欢

  • python递归删除指定目录及其所有内容的方法

    2022-12-12 02:42:51
  • 如何设置PyCharm中的Python代码模版(推荐)

    2022-12-14 03:56:29
  • 什么是JSON及JSON的结构

    2008-06-15 07:16:00
  • Python单向链表和双向链表原理与用法实例详解

    2021-11-21 15:04:27
  • Python判断三段线能否构成三角形的代码

    2023-01-21 19:44:25
  • 在MySQL中使用XML数据—数据格式化

    2009-12-29 10:26:00
  • Python基于socket模块实现UDP通信功能示例

    2023-08-25 06:45:27
  • seo网站如何实现301跳转?

    2010-01-15 12:59:00
  • ASP.NET(AJAX+JSON)实现对象调用

    2023-07-19 12:29:33
  • Python实现的计算器功能示例

    2023-02-16 22:25:30
  • 使用面向对象的技术创建高级JavaScript Web 应用程序

    2008-11-03 13:00:00
  • Python当中的array数组对象实例详解

    2022-02-12 23:22:47
  • Python cookbook(数据结构与算法)筛选及提取序列中元素的方法

    2023-04-27 19:46:34
  • MySQL存储过程中的sql_mode问题

    2011-01-04 19:50:00
  • asp生成静态HTML(动态读取)

    2013-06-27 19:54:48
  • IE下img多余5像素空白

    2009-06-08 13:17:00
  • Python实现的批量下载RFC文档

    2021-11-25 02:54:48
  • python使用turtle库绘制奥运五环

    2021-06-21 04:22:44
  • pandas || df.dropna() 缺失值删除操作

    2023-07-10 06:51:06
  • python实现kNN算法

    2023-01-24 13:58:06
  • asp之家 网络编程 m.aspxhome.com