zoukankan      html  css  js  c++  java
  • 13-python--bibao

    # 封闭,保证数据安全

    # 方案一:数据不安全
    # l1 = []
    # def make_averger(new_value):
    # l1.append(new_value)
    # total = sum(l1)
    # return total / len(l1)
    # print(make_averger(10000))
    # print(make_averger(20000))

    # 方案二:数据安全,l1不能是全局变量
    # 每次执行的时候l1列表都会重新赋值成空列表
    # def make_averger(new_value):
    # l1 = []
    # l1.append(new_value)
    # total = sum(l1)
    # return total / len(l1)
    # print(make_averger(10000))
    # print(make_averger(20000))

    # 方案二:数据安全,l1不能是全局变量
    # 闭包只能存在嵌套的函数中
    # 内层函数对外层函数非全局变量的引用(使用),就会形成闭包。
    # 被引用的非全局变量也称为自由变量,这个自由变量会与内层函数产生一个绑定关系,
    # 自由变量不会在内存中消失。
    # 闭包的作用:保证数据安全
    # def make_averger():
    # l1 = []
    # def averger(new_value):
    # l1.append(new_value)
    # total = sum(l1)
    # return total / len(l1)
    # return averger
    # avg = make_averger()
    # print(avg(10000))
    # print(avg(20000))

    # 如何判断一个嵌套函数是不是闭包
    # def inner():
    # print(a)
    # print(b)
    # return inner
    # a = 2
    # b = 3
    # ret = wrapper(a,b)
    # print(ret.__code__.co_freevars) # ('a', 'b')
  • 相关阅读:
    purple-class2-默认选项切换
    purple-accessData
    “/wechat”应用程序中的服务器错误。
    GDI+ 中发生一般性错误。
    ylbtech-Unitity-CS:Indexers
    ylbtech-Unitity-CS:Hello world
    ylbtech-Unitity-CS:Generics
    ylbtech-Unitity-CS:Delegates
    ZooKeeper目录
    Zookeeper常用命令 (转)
  • 原文地址:https://www.cnblogs.com/Daspig/p/12820690.html
Copyright © 2011-2022 走看看