闭包

# 闭包的概念
#在函数中提出的这个概念
'''
闭包的条件:
1.外部函数定义了一个内部函数
2.在外部函数是有一个返回值的
3.返回的值是内部函数的名字,务必记住不能加上()
4.内部函数还引用了外部函数的变量值
格式:
def外部函数()
''''''
def 内部函数()
......
return 内部函数

'''
'''#写一个闭包的案例
def func(a,b):
c = 10
def inner_func():
s = a + b + c
print('相加之后的结果:', s)
return inner_func


#调用func
ifunc = func(6,9)
ifunc()'''
#闭包的简单使用
'''
闭包具有一个保存记录的能力,他的不会受到传不同值的影响

闭包的缺点:
1.作用域没有那么直观
2.因为变量不会被垃圾回收所以有一定的内存占用问题

闭包的作用:
1.可以使用同级别的作用域
2.读取其他元素的内部变量
3.延长了作用域

闭包总结:
优化了变量,原来需要类对象完成的工作,闭包也可以完成
使代码变得干净整洁
闭包是理解装饰器的基础
'''
posted @ 2020-02-14 12:25  smartcat994  阅读(126)  评论(0编辑  收藏  举报