local 局部命名空间
global 全局命名空间
built-in内建命名空间
####查看名字空间的方法
局部名字空间 locals()
全局名字空间 globals()
内建命名空间 builtins使用dir查看
####作用域
local 局部作用域 在函数内部使用
enclosing 闭包/嵌套作用域 函数嵌套函数 上层函数的变量是闭包局部变量
global 全局作用域 全局使用 函数内部不能赋值
built-in 内建作用域 任意位置使用
##变量查找的优先级LEGB法则 就近
local
enclosed
global
built-in
###指定名字空间的访问
global 变量名 指定访问全局
nonlocal 变量名 指定访问不是局部变量
UnboundLocalError --- 使用一个未赋值的局部变量
##装饰器
###装饰器的特点
传入一个旧函数作为被装饰(加强)的函数
返回加强过后的新函数
装饰器不改变原函数的代码
###装饰器的写法
```python
定义装饰器
def factory(fun):
def inner(*args, **kwargs):
新功能
fun(*args, **kwargs)
新功能
return inner
#定义一个函数,可以被装饰
def show(*args,