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多线程的使用详情

    2023-05-29 15:13:36
  • Window.ShowModalDialog使用手册

    2008-02-24 14:42:00
  • Mysql 服务 1067 错误 的解决方法:修改mysql可执行文件路径

    2024-01-27 04:06:09
  • 如何在mac环境中用python处理protobuf

    2021-02-26 08:42:06
  • Pytorch之finetune使用详解

    2021-08-31 20:41:44
  • python next()和iter()函数原理解析

    2023-04-05 21:58:50
  • pycharm中创建sql文件及模板的过程

    2021-10-01 14:50:51
  • golang通过mysql语句实现分页查询

    2024-01-23 13:30:03
  • 用户研究角度看设计(1)“复制链接”的故事

    2008-12-26 17:48:00
  • Vue中的Object.defineProperty全面理解

    2024-05-29 22:44:02
  • Web页面空间利用率的思考

    2009-07-03 12:45:00
  • Go语言基础结构体用法及示例详解

    2024-04-25 15:11:34
  • Python文件时间操作步骤代码详解

    2022-02-17 03:26:25
  • 简单介绍Python中的round()方法

    2023-05-01 11:57:10
  • 网站登录持久化Cookie方案

    2023-07-01 01:44:17
  • python-try-except:pass的用法及说明

    2022-07-21 13:22:24
  • 详解python的数字类型变量与其方法

    2023-12-05 18:40:53
  • 详解如何用模块化的方式写vuejs

    2024-04-27 16:08:04
  • Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析

    2022-08-11 15:43:43
  • Bootstrap复选框和单选按钮美化插件(推荐)

    2023-07-02 05:24:53
  • asp之家 网络编程 m.aspxhome.com