zoukankan      html  css  js  c++  java
  • 【python】闭包

    一、闭包满足的条件

    闭包 = 内部函数 + 定义函数的环境
    条件一 : 内部函数
    条件二: 外部环境的变量

    二、实战

    def outer():
        x = 10
        y = 20 
        def inner():
            print(x + y)
        return inner 

    看到这段代码,我们看到了,函数里嵌套了函数,那么是什么意思呢?

    首先了解闭包前,我们先了解作用域

    什么是作用域?

    以上面代码为例子,x,y有效的地方就是在outer这个函数内,在其他函数,或者全局里我们不能使用它。

    什么是闭包?

    当我们调用outer内部的innter函数的时候,已经有两个值x,y,已经在全局的作用域下,已经分别指向10,20 所以我们得到的值就是 30

    闭包在被返回时,它的所有变量就已经固定,形成了一个封闭的对象,这个对象包含了其引用的所有外部、内部变量和表达式。

    代码:https://github.com/wangxiao9/python/tree/master/closure

  • 相关阅读:
    HDU
    HDU
    HDU
    HDU
    POJ
    POJ
    POJ
    hdu-4745 Two Rabbits
    蓝桥杯历年试题 小朋友排队
    蓝桥杯历年试题 矩阵翻硬币
  • 原文地址:https://www.cnblogs.com/totoro-cat/p/10483788.html
Copyright © 2011-2022 走看看