函数式编程,简单理解就是一个方法可以作为另一个方法的参数,即,方法可以作为方法的参数
def demo(x,y,f):
return f(x)+f(y)
def f1(x):
return x*x
def f2(x):
return x*2
#将函数作为参数传递
print(demo(2,3,f1))
print(demo(2,3,f2))
#map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回
r = map(f2,range(10))
print(next(r))
print(next(r))
for i in r :
print(i)
#函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,
from functools import reduce
def add(x,y):
return x+y
r=reduce(add,(1,2,3,))
print(r)
C:\Users\Administrator.000\AppData\Local\Programs\Python\Python36\python.exe E:/python/07函数式编程.py
13
10
2
4
6
8
10
12
14
16
18
6
Process finished with exit code 0