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

  • 相关阅读:
    centos7 setfacl权限
    三层交换机做DHCP的一些疑问
    python3 re模块
    python3 的小爬虫
    初学python的一些简单程序(2)
    python3 字典
    python3 元组
    python3列表
    初学python的一些简单程序(1)
    python3的字符串操作
  • 原文地址:https://www.cnblogs.com/totoro-cat/p/10483788.html
Copyright © 2011-2022 走看看