什么是闭包
1 | def pow_x(x): |
特点
1.嵌套函数
2.内部函数用到了外部变量
3.外部函数返回内部函数
4.内部函数不能改变外部变量
5.内部函数用到了外部变量的 list,则可以从外部或内部改变值,并且及时外部没有引用也不会回收。
def pow_x(x):
def echo(value):
# x = 2 # 如果使用了局部变量,外部参数无论如何也进不来了。
return value**x
return echo
lst = [pow_x(2),pow_x(3),pow_x(4)]
for p in lst:
print(p(2))