Day4--python高级编程之闭包--(函数式编程难点)

函数式编程一般使用到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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值