函数式编程一般使用到3个函数 reduce map filiter
# 1.一切皆对象---函数式编程
# def a():
# pass
# b='1'
# print(type(b))
# print(type(a))
# 闭包==函数+环境变量
def curve_pre():
# 全部包起来 外部+内置的函数
a=4
def curve(x):
return a*x*x
return curve
# 寻找机制,就近寻找
a=10
y=curve_pre()
print(y(2))
list_x = [1, 2, 3, 4, 5, 6, 7, 8, 2]
list_y = [1, 4, 9, 16, 25, 36, 49, 64, 4]
# print(squer())
# 函数名,数据
# map 和 lambda 的综合使用: map 相当于一个for循环 map函数的用法
r = map(lambda x, y: y + x, list_x, list_y)
print(list(r))
# reduce函数 前两个相加得x再与后面一个相加 连续函数
from functools import reduce
list_x = [1, 2, 3, 4, 5, 6, 7, 8, 2]
r = reduce(lambda x, y: x * y, list_x)
print(r)
# filter 过滤器
list_x = [1, 2, 3, 0, 4, 5, 0, 6, 7, 0, 8, 2]
r = filter(lambda x: True if x == 0 else False, list_x)
print(r)