更新时间:2019年07月24日 14时22分25秒 来源:黑马程序员
函数式编程
一、函数式编程的特点
(1)把计算视为函数而不是指令
(2)纯函数式编程:不需要变量,没有副作用,测试简单
(3)支持高阶函数,代码简洁
二、Python支持的函数式编程的特点
(1)不是纯函数式编程:允许有变量
(2)支持高阶函数:函数可以作为变量传入
(3)支持闭包:有了闭包就可以返回函数
(4)有限度的支持匿名函数
三、高阶函数
高阶函数:能接收函数作参数的函数
(1)变量可以指向函数
(2)函数的参数可以接收变量
(3)一个函数可以接收另一个函数作为参数
(4)能接收函数作参数的函数就是高阶函数
示例
(1)实现求绝对值的和
In [4]: def func(x, y, f):
...: return f(x) + f(y)
...:
In [5]: func(3, -4, abs)
Out[5]: 7
(2)实现两个数的开方和
In [6]: import math
In [7]: def add(x, y, f):...: return f(x) + f(y)
...:
...:
In [8]: add(9, 25, math.sqrt)
Out[8]: 8.0
(3)map() 是Python内置的高阶函数,接收一个函数 f 和一个 list,并通过把函数 f 一次作用于 list 的每一个元素上,返回一个新的 list 。
(4)示例
# 输出:['Adam', 'Lisa', 'Bart']def format_name(s): return s[0].upper() + s[1:].lower()print map(format_name, ['adam', 'LISA', 'barT'])
推荐了解热门学科
java培训 | Python人工智能 | Web前端培训 | PHP培训 |
区块链培训 | 影视制作培训 | C++培训 | 产品经理培训 |
UI设计培训 | 新媒体培训 | 产品经理培训 | Linux运维 |
大数据培训 | 智能机器人软件开发 |