美文网首页
python基础 -- 闭包

python基础 -- 闭包

作者: fada492daf5b | 来源:发表于2018-01-24 12:53 被阅读0次

    1. 作用

    返回函数,并在内部引用局部参数,记住内层函数不是马上调用的,所以参数一定要不能在内层函数里面参数不能是直接调用外层函数的参数

    2. 操作

    牛逼了,竟然全是9

      def count():
        fs = []
        for i in range(1, 4):
            def f():
                 return i*i
            fs.append(f)
        return fs
    
    f1, f2, f3 = count()
    
    f1, f2, f3 = count()
    
    f1()
    # 9
    f2()
    # 9
    f3()
    # 9
    
    

    牛逼了,又不是9了

    def count():
        def f(j):
            def g():
                return j*j
            return g
        fs = []
        for i in range(1, 4):
            fs.append(f(i)) # f(i)立刻被执行,因此i的当前值被传入f()
        return fs
    
    f1, f2, f3 = count()
    f1()
    # 1
    f2()
    # 4
    f3()
    #9
    

    相关文章

      网友评论

          本文标题:python基础 -- 闭包

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