函数作用域LEGB

2018-03-20  本文已影响0人  原来不语

L>E>G>B
L:local 函数内部作用域
E:enclosing函数内部与内嵌函数之间
G:global 全局作用域
B:build-in 内置作用域(列表,元组,)


image.png

image.png

闭包:Closure:内部函数中对enclosing作用域的变量进行引用

函数实质与属性:
1:函数是一个对象
2:函数执行完成后内部变量回收
3:函数属性
4:函数返回值(返回的话不会被回收)


image.png
image.png

闭包主要实现了代码的封装和复用


image.png
使用Python闭包。必须满足以下三个条件:

我们必须有一个嵌套函数。
这个嵌套函数必须引用一个非局部变量(包含它的范围内的变量)。
封闭范围必须返回此功能。

装饰器

1:装饰器用来装饰函数
2:返回一个函数对象
3:被装饰函数标识符指向返回的函数对象
4:语法糖 @dec

image.png

@dec 作用等于my_sum= dec(my_sum)

image.png
上一篇下一篇

猜你喜欢

热点阅读