返回顶部
首页 > 资讯 > 后端开发 > Python >python中lambda匿名函数详解
  • 944
分享到

python中lambda匿名函数详解

2024-04-02 19:04:59 944人浏览 独家记忆

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

摘要

在python中,不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数 关键字lambda表示匿名函数 语法 lambda 参数:表达式 先写lambda关

python中,不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数

关键字lambda表示匿名函数

语法

lambda 参数:表达式

先写lambda关键字,然后依次写匿名函数的参数,多个参数中间用逗号连接,然后是一个冒号,冒号后面写返回的表达式

lambda函数比普通函数更简洁

匿名函数有个好处:函数没有名字,不必担心函数名冲突

匿名函数与普通函数的对比 :

def sum_func(a, b, c): 
    return a + b + c 
 
sum_lambda = lambda a, b, c: a + b + c 
print(sum_func(1, 10, 100)) # 111 
print(sum_lambda(1, 10, 100)) # 111

可以看到,lambda适用于多个参数、一个返回值的情况(匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果),可以用一个变量来接收,变量是一个函数对象,执行这个函数对象的结果与执行一个普通函数的结果是一样的

匿名函数的多种形式:

#无参数 
lambda_a = lambda: 100 
print(lambda_a()) # 100
 
#一个参数 
lambda_b = lambda num: num * 10 
print(lambda_b(5)) # 50
 
#多个参数 
lambda_c = lambda a, b, c, d : a + b + c + d 
print(lambda_c(1,2,3,4)) # 10
 
#表达式分支 
lambda_d = lambda x: x if x % 2 == 0 else x + 1 
print(lambda_d(6)) # 6 
print(lambda_d(7)) # 8 

可以看到,lambda的参数可以0个到多个,并且返回的表达式可以是一个复杂的表达式,只要最后的值是一个值就行了

此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:

f = lambda x: x * x 
print(f) # <function <lambda> at 0x00000253B601B598> 
print(f(5)) # 25

lambda作为一个参数传递

def sub_func(a, b, func): 
    print('a =', a) 
    print('b =', b) 
    print('a - b =',func(a, b))
 
sub_func(100, 1, lambda a, b: a - b)
#a = 100 
#b = 1 
#a - b = 99

lambda作为函数的返回值

def func(a, b): 
    return lambda c: a + b + c
return_func = func(1, 10) 
print(return_func) # <function func.<locals>.<lambda> at 0x00000253B6472D90> 
print(return_func(100)) # 111

匿名函数可以作为一个函数的返回值

在上面的代码中,func返回的是一个匿名函数,返回的是一个函数对象,当我们执行这个函数时,可以得到lambda函数的结果

注意:其中的a,b两个参数是func中的参数,但我们执行返回的函数return_func时,已经不在func的作用域内了,而lambda函数仍然能使用a,b参数,说明lambda函数会将它的运行环境保存一份,一直保留到它自己执行的时候使用

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

--结束END--

本文标题: python中lambda匿名函数详解

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

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

猜你喜欢
  • python中lambda匿名函数详解
    在Python中,不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数 关键字lambda表示匿名函数 语法 lambda 参数:表达式 先写lambda关...
    99+
    2024-04-02
  • 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+
    2024-04-02
  • Python 匿名函数lambda 详情
    目录1.前言2.如何使用 lambda3.总结1.前言 在 Python 中,说到函数,大家都很容易想到用 ​​def​​ 关键字来声明一个函数: def Hello():     ...
    99+
    2024-04-02
  • 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基础:lambda 匿名函数
    格式 lambda argument1, argument2,... argumentN : expression square = lambda x: x**2 print(square(2)) 与常规函数区别   匿名函数 l...
    99+
    2023-01-31
    函数 基础 Python
  • C++11中匿名函数lambda的使用详解
    目录一、lambda基础介绍二、lambda使用例子2.1 STL算法中的回调函数2.2 回调函数2.3 多线程编程三、总结官方介绍: C++ lambda是C++11新增的一种匿名...
    99+
    2023-05-18
    C++11匿名函数lambda使用 C++11匿名函数lambda C++11匿名函数
  •  Python匿名函数lambda怎么用
    今天小编给大家分享一下 Python匿名函数lambda怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.前...
    99+
    2023-06-29
  • Python匿名函数lambda的用法
    本篇内容主要讲解“Python匿名函数lambda的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python匿名函数lambda的用法”吧!Python内置了多个关键字,今天我们来介绍下其...
    99+
    2023-06-02
  • Python 3 之 lambda匿名函
    ------- lambda -------------------------------------    除了def语句之外,Python还提供了一种生成函数对象的表达式形式。由于它与LISP语言中的一个工具很相似,所以称为lambd...
    99+
    2023-01-31
    Python lambda
  • python如何使用匿名函数lambda
    这篇文章主要介绍python如何使用匿名函数lambda,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!匿名函数 lambda所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。lambda 只是一个表达式...
    99+
    2023-06-03
  • python基础教程之匿名函数lambda
    python lambda 当我们在使用函数时,有时候,并不需要显示的定义一个函数,我们可以使用匿名函数更加方便,在Python中对匿名函数也提供了支持。 比如当我们想计算两个数a,b之和时,即f(a,...
    99+
    2022-06-04
    基础教程 函数 python
  • Python浅析匿名函数lambda的用法
    目录lambda函数的定义   Lambda函数在Python中lambda函数的定义    lambda函数是Pytho...
    99+
    2024-04-02
  • Python匿名函数详情
    目录1、匿名函数2、内置函数使用1、匿名函数 在python中,除了一般使用def定义的函数外,还有一种使用lambda定义的匿名函数。这种函数可以用在任何普通函数可以使用的地方,但...
    99+
    2024-04-02
  • C#中的匿名函数、lambda表达式解读
    目录C# 匿名函数、lambda表达式、Linq查询一、匿名函数的使用二、lambda表达式总结C# 匿名函数、lambda表达式、Linq查询 一、匿名函数的使用 匿名函数是一个&...
    99+
    2023-01-28
    C#匿名函数 C# lambda表达式 C# lambda
  • Python 中的lambda匿名函数和三元运算符
    目录匿名函数什么是匿名函数分类三元运算符匿名函数 什么是匿名函数 用一句话表达只有返回值的函数就是匿名函数。匿名函数只用来实现一些简单的函数功能,所以追求代码的简洁和高效。使用关键字...
    99+
    2024-04-02
  • python基础之匿名函数详解
    目录1.匿名函数介绍2.语法3.使用场景4.匿名函数和普通函数的对比5.匿名函数的多种形式6.lambda 作为一个参数传递7. lambda函数与python内置函数配合使用8.l...
    99+
    2024-04-02
  • C++11 lambda(匿名函数)表达式详细介绍
    目录前言概念及基本用法捕获变量lambda表达式类型声明式的编程风格总结前言 Lambda(匿名函数)表达式是C++11最重要的特性之一,lambda来源于函数式编程的概念,也是现代...
    99+
    2024-04-02
  • C++11中的lambda匿名函数怎么使用
    本篇内容主要讲解“C++11中的lambda匿名函数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11中的lambda匿名函数怎么使用”吧!lambda 源自希腊字母表中第 11 ...
    99+
    2023-07-04
  • scala匿名函数案例详解
    目录1.匿名函数含义1.1传递匿名函数含义1.2传递匿名函数第一层代码解析3.1 这其实跟 “java”特别像3.2传递匿名函数第二层代码解析补充:scala...
    99+
    2023-03-19
    scala 匿名函数 java scala 匿名函数
  • Python中的lambda匿名函数和三元运算符怎么用
    这篇文章主要讲解了“Python中的lambda匿名函数和三元运算符怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中的lambda匿名函数和三元运算符怎么用”吧!匿名函数什...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作