闭包

作者: xx明 | 来源:发表于2018-03-19 22:00 被阅读0次

    什么是闭包(3个条件)

    • 函数A内部存在一个函数B
    • 函数B中使用了A的参数
    • 函数A的返回值是B函数名

    注意点

    每次调用A(args...) 会生成一个新的闭包(下面的area互不受影响)

    def rect_conf(a, b):
        def area():
            return a * b
        return area
    
    rect1 = rect_conf(5,6)
    area1 = rect1()
    print('area1 =',area1)  # area1 = 30
    
    rect2 = rect_conf(7,8) 
    area2 = rect2()
    print('area2 =',area2) # area2 = 56
    print('area1 =',area1) # area1 = 30
    print('area =',rect_conf(10,10)())  # area = 100
    

    相关文章

      网友评论

          本文标题:闭包

          本文链接:https://www.haomeiwen.com/subject/dudmqftx.html