Python中的匿名函数使用简介

 更新时间:2015年04月27日 14:30:54   作者:廖雪峰  
这篇文章主要介绍了Python中的匿名函数的使用,lambda是各个现代编程语言中的重要功能,需要的朋友可以参考下

当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。

在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:

>>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])
[1, 4, 9, 16, 25, 36, 49, 64, 81]

通过对比可以看出,匿名函数lambda x: x * x实际上就是:

def f(x):
  return x * x

关键字lambda表示匿名函数,冒号前面的x表示函数参数。

匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。

用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:

>>> f = lambda x: x * x
>>> f
<function <lambda> at 0x10453d7d0>
>>> f(5)
25

同样,也可以把匿名函数作为返回值返回,比如:

def build(x, y):
  return lambda: x * x + y * y

小结

Python对匿名函数的支持有限,只有一些简单的情况下可以使用匿名函数。

相关文章

  • Python学习之加密模块使用详解

    Python学习之加密模块使用详解

    加密模块在工作中被广泛应用。比如数据的传入 不希望被捕获,通过把数据加密,这样即使被捕获也无法获取到数据的真实信息。本文将学习一下Python中的加密模块的使用 方法,需要的可以参考一下
    2022-03-03
  • python3 selenium 切换窗口的几种方法小结

    python3 selenium 切换窗口的几种方法小结

    今天小编就为大家分享一篇python3 selenium 切换窗口的几种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Java与Python两大幸存者谁更胜一筹呢

    Java与Python两大幸存者谁更胜一筹呢

    Python起源于一种脚本语言,它的语法体现了一种可读性的理念,具有简单而规则的界限,鼓励简洁和一致的代码布局,而Java是一种面向对象语言,其吸引力和价值所在是其具有的可移植性和相对效率。下面通过本文了解下java python 谁更胜一筹
    2018-04-04
  • 浅谈matplotlib 绘制梯度下降求解过程

    浅谈matplotlib 绘制梯度下降求解过程

    这篇文章主要介绍了浅谈matplotlib 绘制梯度下降求解过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 浅谈python多线程和多线程变量共享问题介绍

    浅谈python多线程和多线程变量共享问题介绍

    这篇文章主要介绍了浅谈python多线程和多线程变量共享问题介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python装饰器用法实例分析

    Python装饰器用法实例分析

    这篇文章主要介绍了Python装饰器用法,结合实例形式分析了带参数装饰器、无参数装饰器等相关实现与使用技巧,需要的朋友可以参考下
    2019-01-01
  • 利用Python3实现统计大量单词中各字母出现的次数和频率的方法

    利用Python3实现统计大量单词中各字母出现的次数和频率的方法

    这篇文章主要介绍了利用Python3实现统计大量单词中各字母出现的次数和频率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python爬虫使用正则爬取网站的实现

    python爬虫使用正则爬取网站的实现

    这篇文章主要介绍了python爬虫使用正则爬取网站的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python为人脸照片添加口罩实战

    Python为人脸照片添加口罩实战

    本文主要介绍了Python为人脸照片添加口罩实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 使用python turtle画高达

    使用python turtle画高达

    今天小编就为大家分享一篇使用python turtle画高达,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论