Python高阶--闭包

闭包作用:① 可以读取函数内部的变量,②让这些变量的值始终保持在内存中
闭包的特征:1.必须要有函数的嵌套,而且外层函数必须返回内层函数。外层函数相当于给内层函数提供了一个包装起来的运行环境,在这个包装的运行环境里面,内层函数可完全自己掌握自由变量的值。2.内层函数一定要用到外层函数中定义的自由变量。

=============================

func_list = []
for i in range(3):
def myfunc(a):
return i + a
func_list.append(myfunc)

for f in func_list:
print(f(1)) # 返回的是3,3,3

===========================

func_list = []
for i in range(3):
def deco(i):
def myfunc(a):
return i + a
return myfunc
func_list.append(deco(i))

for f in func_list:
print(f(1)) # 返回的是1,2,3

posted @ 2024-04-29 05:02  星空28  阅读(3)  评论(0编辑  收藏  举报