简单谈谈python中的lambda表达式

 更新时间:2018年01月19日 08:43:14   作者:熔遁丶螺旋手里剑  
Lambda表达式在Python中经常使用到,本文是给大家分享的小编总结出来的Lambda表达式的常用方法。

最近在coding时发现使用lambda还是有诸多优点的,很多时候代码更整洁,更pythonic,所以在此简单总结一下

1.lambda是什么

举个简单的例子:

func = lambda x: x*x

def func(x):
 return x*x

两个func的定义是完全相同的,那两种函数定义方法配合map使用,将list中所有元素求平方,代码会是什么样的,

def func(x):
  return x*x
map(func, [i for i in range(10)])
map(lambda x: x*x, [i for i in range(10)])

对比之下,效果还是显而易见。首先func函数的功能十分简单,而且很有可能只使用这一次,所以说我们在这里定义了一个功能简单、使用频次不高的函数。在这个例子中,使用lambda创建匿名函数不但不会影响代码的可读性,还能精简代码,减少不必要的函数调用。其实这种场景很常见,我们需要一个简单的单行函数,做一件简单的事,我们甚至连函数的名字都无需在意,此时lambda就是我们不错的选择。

2.是否使用lambda

lambda定义了一个匿名函数,使用它并不会带来代码执行效率的提升。lambda通常与map,reduce,filter在遍历列表时配合使用,但是一味的追求lambda的使用,对代码可读性往往带来灾难性的后果。python对lambda有着严苛的约束,毕竟它只能由一条表达式组成。lambda很方便不假,但是如果使用过度,程序的逻辑性看起来就不那么清晰,毕竟每个人对抽象的理解是不同的。

如果一个列表生成式,仅使用for,if,in就能实现,我不会使用lambda

如果函数不足够简单,涉及到循环等复杂逻辑,我会定义函数,让代码更具可读性,此时我不会使用lambda

在我看来,lambda的存在是为了减少单行函数的定义,所以只用来代替单行函数的定义就足够了。

相关文章

  • Django 中使用日志的方法

    Django 中使用日志的方法

    Django 使用 Python 内置的 logging 模块处理系统日志,所以,只要掌握了 Python 中的 logging 模块,基本也就能够在 django 中使用日志了,本文重点给大家介绍django 中使用日志的方法,感兴趣的朋友一起看看吧
    2022-07-07
  • python MysqlDb模块安装及其使用详解

    python MysqlDb模块安装及其使用详解

    本篇文章主要介绍了python MysqlDb模块安装及其使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • python的格式化输出(format,%)实例详解

    python的格式化输出(format,%)实例详解

    Python中格式化字符串目前有两种阵营:%和format,哪一种比较适合我们使用呢?下面脚本之家小编给大家介绍下python的格式化输出(format,%)实例详解,感兴趣的朋友一起看看吧
    2018-06-06
  • python爬虫构建代理ip池抓取数据库的示例代码

    python爬虫构建代理ip池抓取数据库的示例代码

    这篇文章主要介绍了python爬虫构建代理ip池抓取数据库的示例代码,帮助大家更好的使用爬虫,感兴趣的朋友可以了解下
    2020-09-09
  • 构建 Python 命令行参数的 4 种常见方式

    构建 Python 命令行参数的 4 种常见方式

    这篇文章主要介绍了构建 Python 命令行参数的 4 种常见方式,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • Python如何实现邮件功能

    Python如何实现邮件功能

    在本篇文章里小编给大家分享的是关于Python实现邮件功能的方法,有需要的朋友们可以学习参考下。
    2020-05-05
  • Pygame做一期吃豆子游戏的示例代码

    Pygame做一期吃豆子游戏的示例代码

    这篇文章主要介绍了Pygame做一期吃豆子游戏的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Python实现aes加密解密多种方法解析

    Python实现aes加密解密多种方法解析

    这篇文章主要介绍了Python实现aes加密解密多种方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • python实现五子棋游戏

    python实现五子棋游戏

    这篇文章主要为大家详细介绍了python实现五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Python验证用户密码是否规范脚本示例

    Python验证用户密码是否规范脚本示例

    对用户密码的强度进行校验,要求用户密码达到一定的强度,符合安全性要求,这篇文章主要给大家介绍了关于Python验证用户密码是否规范的相关资料,需要的朋友可以参考下
    2024-05-05

最新评论