天天看点

07.python支持函数式编程

    函数式编程,简单理解就是一个方法可以作为另一个方法的参数,即,方法可以作为方法的参数

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