#计算器
def generate_count():
container=[0]
def add_one():
container[0]=container[0]+1
print('当前是第{}次访问'.format(container[0]))
return add_one
counter=generate_count()
#内部函数就是一个计数器
counter()
counter()
counter()
'''
闭包有什么缺点呢?
1.作用域没有那么直观
2.因为变量不会被垃圾回收所以有一定的内存占用问题
闭包的作用:
1.可以使用同级的作用域
2.读取其他元素的内部变量
3.延长作用域
闭包总结:
1.闭包优化了变量,原来需要类对象完成的工作,闭包也可以完成
2.由于闭包引用了外部函数的局部变量,则外部函数的局部变量没有即使释放,消耗内存
3.闭包的好处,是代码变得简洁,便于阅读代码
4.闭包是理解装饰器的基础
'''
当前是第1次访问
当前是第2次访问
当前是第3次访问