zoukankan      html  css  js  c++  java
  • python闭包函数

    上面我们已经学习了函数嵌套,名称空间和变量作用域

    在说闭包函数之前 

    我们先来复习一下函数对象,就是理解函数即变量

      函数对象(变量)作用:

              1:可以被赋值

              2:可以当做参数传给函数

              3:可以作为函数的返回值

              4:可以作为容器类型的元素

    那么什么是闭包函数呢?

      闭包函数:定义在函数内部的函数,且该函数引用了非全局的外部变量。则该函数就是闭包函数。或者说在嵌套函数中 内层函数引用到了外层函数的变量,就形成了闭包。

    为什么要使用闭包呢

      #1.我们想使用函数内部的变量

      2.如果我们需要重用一个变量,但是希望这个变量不被污染

    如何用:

      1外层函数定义一个变量,和一个内层函数

      2 外层函数将内层函数返回到外部

      3.调用外层函数时,就获得了内层函数的对象,这样就构成了一个闭包(即等于调用内层函数  ,而内层函数的作用域可以向上查找)

    def outer():
        x=2
        def inner():
            print(x)
            pass
        return inner

    总结:

      优点:读取函数内部变量,将变量封装起来,可以减少传参次数

      缺点:比普通函数消耗内层

  • 相关阅读:
    ACM 人见人爱A^B
    ACM Max Factor
    ACM Primes
    ACM Least Common Multiple
    ACM 最小公倍数
    ACM Bone Collector
    ACM 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
    ACM Piggy Bank
    ACM 饭卡
    ACM Where is the Marble?
  • 原文地址:https://www.cnblogs.com/wh-alan/p/10077927.html
Copyright © 2011-2022 走看看