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

    总结:

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

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

  • 相关阅读:
    js基础练习题(2)
    js基础练习题(1)
    DOM-BOM-EVENT(7)
    DOM-BOM-EVENT(6)
    DOM-BOM-EVENT(5)
    DOM-BOM-EVENT(4)
    DOM-BOM-EVENT(3)
    Spark学习笔记--Spark在Windows下的环境搭建(转)
    idea下关联spark源码环境(转)
    Spark 性能相关参数配置详解-任务调度篇
  • 原文地址:https://www.cnblogs.com/wh-alan/p/10077927.html
Copyright © 2011-2022 走看看