广告
返回顶部
首页 > 资讯 > 后端开发 > Python >详解Python的lambda函数用法
  • 285
分享到

详解Python的lambda函数用法

lambda函数用法PythonlambdaPython函数 2022-06-02 22:06:01 285人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

lambda函数用法 lambda非常重要的一个定义。lambda在【运行时】才绑定,【不是】在定义的时候绑定。下面这个列子: 本意想:让X分别与0到1的数相加。x+0,x+1,x+2,x+3 实际运行结果是: 0

lambda函数用法

lambda非常重要的一个定义。lambda在【运行时】才绑定,【不是】在定义的时候绑定。下面这个列子:
本意想:让X分别与0到1的数相加。x+0,x+1,x+2,x+3
实际运行结果是:

0
0
0
0

原因就是上面提到的,运行时才绑定。先运行的for循环,无法捕捉到循环。


func = [lambda x: x + n for n in range(4)]  # x+n,n是从0到3 For循环,x+0,x+1,x+3
for f in func:
    print(f(0))  # 打印func列表的第一个数据。

——————————————————————
修改后的代码:增加了n=n


func = [lambda x,n=n:x+n for n in range(4)]
for f in func:
    print(f(0))

运行结果:

0
1
2
3

这是我们想达到的结果。n=n,就是在定义时捕捉。

原因:

n是自由变量,执行时才能确定。
我们把n变成参数就可以了,因为参数可以在定义时绑定变量。
——————————————————————
下面的例子很奇怪:


h = 1
a = lambda k: h + k
h = 2
b = lambda k: h + k
print(a(3))
print(b(3))

运行结果:

5
5

我们赋值的h=1根本没被使用。始终做计算3+2。
h=1
h=2
都是全局变量,就会以最后一个为准。
——————————————————————
修改后


h = 1
a = lambda k,h=h: h + k
h = 3
b = lambda k,h=h: h + k
print(a(10))
print(b(10))

运行结果:

11
13

——————————————————————


h = 1
h = 100
a = lambda k,h=h: h + k
h = 3
b = lambda k,h=h: h + k
print(a(10))
print(b(10))

结果:

110
13

上面最后的例子,发现h=1,h=100,只选择100参与计算。100+10=110 因为h=1,h=100都是全局,以最后为准。python代码从上到下运行的。

到此这篇关于详解Python的lambda函数用法的文章就介绍到这了,更多相关lambda函数用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Python的lambda函数用法

本文链接: https://www.lsjlt.com/news/10964.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解Python的lambda函数用法
    lambda函数用法 lambda非常重要的一个定义。lambda在【运行时】才绑定,【不是】在定义的时候绑定。下面这个列子: 本意想:让X分别与0到1的数相加。x+0,x+1,x+2,x+3 实际运行结果是: 0...
    99+
    2022-06-02
    lambda函数用法 Python lambda Python函数
  • python函数和python匿名函数lambda详解
    目录1. python函数1.1 函数的作用1.2 函数定义1.3 函数调用1.4 函数的参数1.4.1 参数的传递1.4.2 参数类型1.4.2.1 位置参数(必备参数)1.4.2...
    99+
    2022-11-11
  • 详解Python的Lambda函数与排序
    lambda函数是一种快速定义单行的最小函数,是从 Lisp 借用来的,可以用在任何需要函数的地方。下面的例子比较了传统的函数与lambda函数的定义方式。 前几天看到了一行求1000的阶乘的Python...
    99+
    2022-06-04
    详解 函数 Python
  • python中lambda匿名函数详解
    在Python中,不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数 关键字lambda表示匿名函数 语法 lambda 参数:表达式 先写lambda关...
    99+
    2022-11-13
  • C++lambda函数详解
    目录Lambda 表达式基础1. 值捕获2. 引用捕获3. 隐式捕获4. 表达式捕获泛型 Lambda函数对象包装器Lambda 表达式 Lambda 表达式是现代 C++ 中最重要...
    99+
    2023-02-13
    C++ lambda表达式 C++ lambda函数
  • 深入了解Python中Lambda函数的用法
    目录什么是Lambda函数过滤列表中的元素和map()函数的联用和apply()方法的联用不太适合使用的场景今天来给大家推荐一个Python当中超级好用的内置函数,那便是lambda...
    99+
    2022-11-11
  • C++中的Lambda函数详解
    目录一 函数语法二 函数应用1、在普通函数中使用2、在qt信号槽中使用3、在std::sort排序函数中的使用三 总结一 函数语法 我们平时调用函数的时候,都是需要被调用函数的函数名...
    99+
    2022-11-12
  • Python匿名函数lambda的用法
    本篇内容主要讲解“Python匿名函数lambda的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python匿名函数lambda的用法”吧!Python内置了多个关键字,今天我们来介绍下其...
    99+
    2023-06-02
  • Python 匿名函数lambda 详情
    目录1.前言2.如何使用 lambda3.总结1.前言 在 Python 中,说到函数,大家都很容易想到用 ​​def​​ 关键字来声明一个函数: def Hello():     ...
    99+
    2022-11-13
  • python3中apply函数和lambda函数的使用详解
    目录lambda函数lambda是什么lambda用法详解lambda + maplambda + filterlambda + reduce避免过度使用lamb...
    99+
    2022-11-13
  • C++匿名函数lambda详解
    匿名函数lambda 一、匿名函数的基本语法二、捕获列表2.1、值捕获2.2、引用捕获2.3、隐式捕获2.4、空捕获列表2.5、表达式捕获2.6、泛型 Lambda2.7、可变lambda2....
    99+
    2023-10-23
    c++ linux 开发语言 服务器 算法
  • 详解Python map函数及Python map()函数的用法
    python map函数 map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list ...
    99+
    2022-06-04
    函数 详解 Python
  • Python浅析匿名函数lambda的用法
    目录lambda函数的定义   Lambda函数在Python中lambda函数的定义    lambda函数是Pytho...
    99+
    2022-11-11
  • 浅谈Python当中Lambda函数的用法
    今天来给大家推荐一个Python当中超级好用的内置函数,那便是lambda方法,本篇教程大致和大家分享:什么是lambda函数lambda函数过滤列表元素lambda函数和map()方法的联用lambda函数和apply()方法的联用什么时...
    99+
    2023-05-14
    Python 内置函数 lambda
  • Python中lambda函数的用法是什么
    在Python中,lambda函数是一种匿名函数,也称为lambda表达式。它只能包含一个表达式,并且返回该表达式的结果。lambd...
    99+
    2023-08-18
    Python lambda
  • 详解Python函数print用法
    print函数: Python中可以直接使用的函数,可以将信息展示在控制台 print()函数可以输出哪些内容? print()函数输出的内容可以是数字 #可以输出数字 print(520) print(98...
    99+
    2022-06-02
    Python print函数 python函数
  • Python range() 函数用法详解
    Python3 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表 函数语法 range(start, stop[, step]) 参...
    99+
    2023-03-15
    Python range() 函数 Python range函数用法
  • Python dict函数用法详解
    dict函数用法:1、使用“**kwarg”参数初始化字典;2、使用“mapping”参数初始化字典;3、使用“iterable”参数初始化字典;4、创建空字典。Python中的dict()函数用于创建一个字典对象,并可以进行键值对的初始化...
    99+
    2023-11-10
    python dict
  • python中的lambda表达式用法详解
    本文实例讲述了python中的lambda表达式用法。分享给大家供大家参考,具体如下: 这里来为大家介绍一下lambda函数。 lambda 函数是一种快速定义单行的最小函数,是从 Lisp 借用来的,可以...
    99+
    2022-06-04
    表达式 详解 python
  • Python中使用Lambda函数的5种用法
    目录引言1.命名使用2. 与高阶函数配合3.赋予“key”参数4.立即调用5.在闭包中使用总结引言 Lambda 函数(也称为匿名函数)是函数式编程中的核心概念之一。 支持多编程范例...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作