Python函数式编程

函数式编程
高阶函数
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式


1.map
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
def f(x):
return x*x 
r=map(f,[1,2,3,4,5,6,7,8])


2.reduce
reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)


3.filter
filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。


4.sorted
sorted()函数可以对list进行排序,要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True:
sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower,reverse=True)


返回函数
高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回,返回一个函数时,该函数并未执行,返回函数中不要引用任何可能会变化的变量。
list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))


装饰器
在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)


偏函数
functools.partial就是帮助我们创建一个偏函数的,作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。


模块
在Python中,一个.py文件就称之为一个模块(Module);类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用
第三方库:第三方库都会在Python官方的pypi.python.org网站注册;
https://www.anaconda.com/download/ 第三方库anaconda官方地址









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值