《Python 核心技术与实战》 学习笔记 Day10 简约不简单的匿名函数

匿名函数基础

第一 lambda 是一个表达式(expression),并不是一个语句(statement)。

  • 所谓的表达式,就是用一系列“公式”去表达一个东西,比如x + 2、 x**2等等;
  • 而所谓的语句,则一定是完成了某些功能,比如赋值语句x = 1完成了赋值,print 语句print(x)完成了打印,条件语句 if x < 0:完成了选择功能等等。
  • lambda 可以用在一些常规函数 def 不能用的地方,比如,lambda 可以用在列表内部,而常规函数却不能。
  • lambda 可以被用作某些函数的参数,而常规函数 def 也不能。

第二 lambda 的主体是只有一行的简单表达式,并不能扩展成一个多行的代码块。
lambda就是为了让它和常规函数各司其职:lambda 专注于简单的任务,而常规函数则负责更复杂的多行逻辑。

lambda argument1, argument2,... argumentN : expression

为什么要使用匿名函数?

  1. 减少代码的重复性;
  2. 模块化代码。

函数式编程

  • 所谓函数式编程,是指代码中每一块都是不可变的(immutable),都由纯函数(pure function)的形式组成。这里的纯函数,是指函数本身相互独立、互不影响,对于相同的输入,总会有相同的输出,没有任何副作用。
  • 函数式编程的优点,主要在于其纯函数和不可变的特性使程序更加健壮,易于调试(debug)和测试;缺点主要在于限制多,难写。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容