zoukankan      html  css  js  c++  java
  • python-闭包的理解

    闭包怎样理解?

      如果在一个函数内部,嵌套了函数,这个内部函数对(非全局作用域)外部作用域的变量进行引用,那么这个内部函数称为闭包。

      闭包每次运行是能记住引用的外部作用域的变量的值。

    # 闭包的意义:返回的函数对象,不仅仅是一个函数对象,
    # 在该函数外还包裹了一层作用域,这使得,该函数无论在何处调用,
    # 优先使用自己外层包裹的作用域
    
    
    def bibao():
        x = 20
        
        def inner():  # 闭包函数
            print(x)
        return inner()
    
    
    bibao()
    闭包函数

      怎样理解:

      1.在bibao()函数里嵌套了inner()函数,

      2.这个inner()函数对其外部非全局变量x的变量进行引用,

      3.这个内部函数称为闭包。

      4.闭包每次运行都能记住应用的外部作用于变量x的值。

    name = 'egon'
    
    
    def func2():
        def inner():
            print(name)
        return inner()
    
    func2()
    非闭包函数
  • 相关阅读:
    Path Sum
    Binary Tree Level Order Traversal II
    Jump Game
    leedcode 刷题-V2
    (2016 年) githup 博客地址 : https://github.com/JMWY/MyBlog
    算法分类总结
    剑指 Offer 题目汇总索引
    LeedCde 题解目录
    趣味算法总目录
    常用
  • 原文地址:https://www.cnblogs.com/AYxing/p/8645276.html
Copyright © 2011-2022 走看看