zoukankan      html  css  js  c++  java
  • Python 入门之 闭包

    1、闭包

    (1)在嵌套函数内使用(非本层变量)和非全局变量就是闭包

    (2)使用__ closure__ 判断是不是闭包

    def func():
        a = 1
        def foo():
            print(a)
        print(foo.__closure__)  # 判断是不是闭包   (<cell at 0x000002B5BF55EC18: int object at 0x00000000762E8070>,)
    func()
    
    def wrapper():
        a = 1
        def inner():
            print(a)
        return inner
    ret = wrapper()
    
    a = 2
    def wrapper():
        def inner():
            print(a)
        return inner
    ret = wrapper()
    
    def wrapper(a,b):
        def inner():
            print(a)
            print(b)
        inner()
        print(inner.__closure__)
    a = 1
    b = 2
    wrapper(11,22)
    

    (3)闭包的作用

    <1> 保存局部信息不被销毁,保护数据的安全性

    <2> 在装饰器中使用

    (4)闭包的应用

    <1> 可以保存一些非全局变量但是不易被销毁、改变的数据。

    <2>在 装饰器中

  • 相关阅读:
    10_树基础部分
    11_多线程
    14_JUC
    Servlet代码实例
    关于JSP引用资源路径
    Struts2代码实例
    hadoop三大核心组件介绍
    presto自定义函数开发
    git使用
    hive优化总结
  • 原文地址:https://www.cnblogs.com/caiyongliang/p/11445058.html
Copyright © 2011-2022 走看看