闭包

# 什么是闭包呢?在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包
# 理解闭包是理解装饰器的前提
# 我们直接看闭包的应用吧
# 假设呢我们的直线的a、b是不确定的,x也是不确定的,每当我们要构造一条直线确定y值时,我们需要传递三个参数a、b、x,这极大地减少了代码的可移植性
# 通过使用闭包呢?可以先构造出这条直线,然后再传入x(想传什么传什么,还不用构造直线了),计算y值


def test01(a, b):
    def test02(x):
        return a * x + b

    return test02


test1 = test01(1, 1)
test2 = test01(4, 5)
print(test1(5))
print(test2(5))

 

posted @ 2018-11-12 18:24  人工智能之路上的菜鸡  阅读(132)  评论(0)    收藏  举报