函数式编程
高阶函数
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式
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官方地址
高阶函数
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式
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官方地址