它将计算机运算视为数学上的函数运算,并且避免使用程序状态以及变量对象。 以上只是简单的函数式编程的概念,我们只需简单了解即可。 在 Python 中,函数式编程主要由几个函数的使用构成: lambda 函数,又成为匿名函数。lambda 函数只能有一个表达式,而不需要写 return 来返回函数的值。当然,匿名函数也是一个函数对象,同样可以把匿名函数赋值给一个变量。 map 函数接收两个参数,一个是函数,一个是 Interable (可迭代序列),map 函数依次将函数作用到序列的每个元素,并把结果作为新的 Interable 返回。 看一个例子: 一个简单的列表解析,把列表 a 的每个元素都加2,用 map 函数可以写为: 虽然上面的代码看起来比直接写 for 循环要复杂,但是当数据量很大的情况下,Python 的 for 效率就不是很高了,而 map 的效率是可以接近 C 语言的。同时代码也简洁很多,简直装X神器。 另一个小例子,把列表中的元素转换为字符串,一条命令 它和 map 有些像,不过 map 是用于逐一遍历,而 reduce 函数是用来递归计算的。 一个简单的序列求和 对列表 a 的各个元素依次求和,再看一个自制的 这是 Python 内置函数 int 的用法 它同样接收一个函数和一个序列, 使用这些函数,不仅可以让我们的代码更加简洁,同时在大数据量或者计算密集时,能够大大提高效率。 好了,这就是今天分享的全部内容,喜欢就点个赞吧~lambda()
, map()
, reduce()
, filter()
等。01.lambda 函数
可以看出,变量 f 就是一个 lambda 函数类型,需要使用
f()
来调用该函数。02.map函数
由于 map 函数返回的是一个惰性序列,需要通过
list()
等函数来调用它。03.reduce函数
int()
函数的例子先用 map 函数来遍历 23465 这个字符串列表,然后通过 reduce 函数递归应用列表每个元素到 lambda 函数。
04. filter函数
filter()
把传入的函数依次作用于每个元素,然后根据返回值是 True 还是 False 决定保留还是丢弃该元素。总结
正文
【Python】都应该了解的Python函数式编程
此篇文章发布距今已超过808天,您需要注意文章的内容或图片是否可用!
还没有评论,来说两句吧...