#闭包:在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,
# 并且外函数的返回值是内函数的引用。这样就构成了一个闭包。

#如下所示,最简单的一个闭包
def test(number):
    print("--1--")

    def test_in(number2):
        print("--2--")
        print(number+number2)   #内函数里运用了外函数的临时变量

    print("--3--")
    return test_in      #外函数的返回值是内函数的引用

ret = test(100)
print("-"*30)
ret(1)
ret(2)
ret(3)