1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python闭包修改全局变量_Python 闭包 自由变量

python闭包修改全局变量_Python 闭包 自由变量

时间:2021-11-24 09:12:12

相关推荐

python闭包修改全局变量_Python 闭包 自由变量

理解:封闭的东西:保证数据的安全

#平均收盘价 方案一数据是不安全的

l1 = []

def make_average(new_value):

l1.append(new_value)

total = sum(l1)

average = total / len(l1)

return average

*************************************************************

#方案二:闭包

def make_average():

l1 = []#自由变量

def aver(new_value):#闭包

l1.append(new_value)

total = sum(l1)

average = total / len(l1)

return average

return aver

avg = make_average()

avg(100000)

avg(110000)

闭包定义 :

1.闭包只能存在嵌套的函数中

2.内层函数 对外层函数 非全局变量的引用 (使用),就会形成闭包 。

被引用的非全局变量 也称为 自由变量 ,这个自由变量 会与内层函数产生一个绑定关系,

也就是 自由变量不会在内存中消失 。

闭包的作用: 保证数据的安全

如何判断一个嵌套函数 是不是闭包:

def make_average():

l1 = []#自由变量

def aver(new_value):#闭包

l1.append(new_value)

total = sum(l1)

average = total / len(l1)

return average

return aver

avg = make_average()

#__code__.co_freevars 查看函数中自由变量的方法 如果有自由变量 即为闭包

avg.__code__.co_freevars # 查看函数的自由变量(l1,)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。