高阶函数与匿名函数:Lambda表达式

首先给一个通俗的函数式编程的定义

需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数

为什么需要函数式编程

函数式编程是编程范式中的一种,是一种典型的编程思想和方法。其他的编程范式还包括面向对象编程,逻辑编程等。

下面的例子举的是用Python,尽管Python算不上一个纯函数式编程语言,但它本身提供很多函数式编程的特性,例如reduce、filter、sorted这些函数都支持函数作为参数。

lambda关键字用于定义一个匿名函数(anonymous function),x表示输入,冒号后是函数体同时也是返回值)

在Python下的代码如下:

如果不用lambda函数也是可以的,等效代码如下:

再来举个简单的例子,函数

给这个匿名函数(实际上就是两个数相加)绑定一个名字,然后是之后调用匿名函数成为可能。

再举个例子,这个format

那个{}里的0代表是format的第0个参数放进去。然后最后就会输出['Eat 1 walnut.', 'Eat 2 walnut.', 'Eat 3 walnut.']

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注