zoukankan      html  css  js  c++  java
  • 24.闭包现象


    # 闭包现象
    def outer():
    n="曹娜是傻逼"
    def inner():
    print(n)
    return inner
    f=outer()
    f()

    1,函数嵌套
    2,inner函数,没有n变量,根据作用域查找顺序,会找到outer的变量n,
    3,outer函数返回值inner ,返回的是inner的内存地址。
    4,一般来讲,outer()加括号调用,函数执行,返回inner内存地址,局部变量n瞬间释放。但是,在执行f()就相当于执行inner(),inner函数打印n,依然可以打印。
    这种现象就是闭包。
    意义 :返回的函数对象,不仅仅是一个函数,在该函数外还包裹了一层作用域,使得 函数无论在何处调用,优先使用自己外层的作用域
  • 相关阅读:
    魔法跳舞链 51Nod
    反射
    JDBC---后端服务器与数据库交互的桥梁
    多线程
    IO流
    继承与重写
    java.util包
    多态
    Java.lang包
    异常
  • 原文地址:https://www.cnblogs.com/xh716/p/11568000.html
Copyright © 2011-2022 走看看