Python匿名函数详情

 更新时间:2021年11月02日 08:29:54   作者:一碗周  
这篇文章主要介绍了Python匿名函数,在python中,除了一般使用def定义的函数外,还有一种使用lambda定义的匿名函数,这种函数可以用在任何普通函数可以使用的地方,但在定义时被严格限定为单一表达式,下面来看详细内容吧

1、匿名函数

python中,除了一般使用def定义的函数外,还有一种使用lambda定义的匿名函数。这种函数可以用在任何普通函数可以使用的地方,但在定义时被严格限定为单一表达式。从语义上讲,它只是普通函数的语法糖。

如果我们需要定义一个特别简单的函数,例如

def add(a, b):
    s = a + b
    return s

这就出现问题了,这么优雅的Python怎么可以出现这种难看的代码呢,有没有办法可以将其简化为1行代码呢?这么优雅的Python肯定有办法将其简化的方法啊!这要用到匿名函数了。

python中使用 **lambda**关键字来创建匿名函数

语法格式:

lambda [参数1 [,参数2,..参数n]]:表达式

lambda 参数列表:return [表达式] 变量

由于lambda返回的是函数对象(构建的是一个函数对象),所以需要定义一个变量去接收

示例代码如下:

news_add = lambda a, b: a + b
# 上面的那个等于
def news_add_old(a, b):
    return a + b

x = news_add_old(5, 10)
y = news_add(5, 10)  # 调用匿名函数
print(x, y)  # 15 15

2、内置函数使用

结合内置函数使用:

list1 = [{"a": 10, "b": 20}, {"a": 20, "b": 20}, {"a": 50, "b": 20}, {"a": 6, "b": 20}, {"a": 9, "b": 20}]

# 那个列表中的a最大
max_value = max(list1, key=lambda x: x["a"])
print(max_value)

# 如果用普通的函数写就多了几行
def func(di):
    return di["a"]
max_value = max(list1, key=func)  # 这里不能加()不然就表示调用了
print(max_value)

将匿名函数当做参数:

def func(a, b, fun):
    s = fun(a, b)
    return s

z = func(5, 10, lambda a, b: a + b)
print(z)  # 15

lambda可以省去定义函数的过程,让代码更加精简,而且不用考虑命名问题,但是在PEP8规范里面是不推荐用lambda这种方式的。

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

相关文章

  • 使用python进行文件处理的库存管理

    使用python进行文件处理的库存管理

    库存管理是任何处理实物商品的企业的一个重要方面,Python 提供了各种库来读取和写入文件,使其成为管理库存的绝佳选择,它允许我们使用 Python 等编程语言来操作计算机文件系统上的文件,在本文中,我们将探讨如何使用文件处理在 Tkinter 中实现库存管理系统
    2023-09-09
  • 简单说明Python中的装饰器的用法

    简单说明Python中的装饰器的用法

    这篇文章主要简单说明了Python中的装饰器的用法,装饰器在Python的进阶学习中非常重要,示例代码基于Python2.x,需要的朋友可以参考下
    2015-04-04
  • PyQt5中QButtonGroup的用法解析与案例分享

    PyQt5中QButtonGroup的用法解析与案例分享

    在PyQt5中,QButtonGroup是一个非常有用的类,它提供了一个抽象的按钮容器,允许开发者将多个按钮划分为一个组,本教程将详细介绍QButtonGroup的创建、使用、信号槽连接以及在实际项目中的应用案例,需要的朋友可以参考下
    2024-08-08
  • python pow函数的底层实现原理介绍

    python pow函数的底层实现原理介绍

    这篇文章主要介绍了python pow函数的底层实现原理介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • numpy如何获取array中数组元素的索引位置

    numpy如何获取array中数组元素的索引位置

    这篇文章主要介绍了numpy获取array中数组元素的索引位置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • 一文详解如何用GPU来运行Python代码

    一文详解如何用GPU来运行Python代码

    前几天捣鼓了一下Ubuntu,正是想用一下我旧电脑上的N卡,可以用GPU来跑代码,体验一下多核的快乐,感兴趣的小伙伴快跟随小编一起了解一下吧
    2023-02-02
  • Python 运行.py文件和交互式运行代码的区别详解

    Python 运行.py文件和交互式运行代码的区别详解

    这篇文章主要介绍了Python 运行.py文件和交互式运行代码的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python与caffe改变通道顺序的方法

    python与caffe改变通道顺序的方法

    今天小编就为大家分享一篇python与caffe改变通道顺序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 使用Python实现自动填入密码功能

    使用Python实现自动填入密码功能

    对于频繁使用的软件,每次都手动输入密码可能会显得繁琐,所以本文主要为大家详细介绍了如何使用Python实现自动填入密码功能,需要的可以参考下
    2024-04-04
  • python3.9和pycharm的安装教程并创建简单项目的步骤

    python3.9和pycharm的安装教程并创建简单项目的步骤

    这篇文章主要介绍了python3.9和pycharm的安装教程并创建简单项目的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论