global:更改全局变量
nonlocal:更改函数内部的外层变量
闭包函数:
1 内部函数
2 包含对外部作用域而非全局作用域的引用
f.__closure__
闭包函数的特点:
自带作用域
延迟计算
一 开放封闭原则,对扩展是开放的,对修改是封闭的
二 装饰器,本质是任意可调用对象,被装饰的对象也可以是任意可调用对象
装饰器的功能是
原则:
1 不修改源代码
2 不修改调用方法
目标:添加新功能
global:更改全局变量
nonlocal:更改函数内部的外层变量
闭包函数:
1 内部函数
2 包含对外部作用域而非全局作用域的引用
f.__closure__
闭包函数的特点:
自带作用域
延迟计算
一 开放封闭原则,对扩展是开放的,对修改是封闭的
二 装饰器,本质是任意可调用对象,被装饰的对象也可以是任意可调用对象
装饰器的功能是
原则:
1 不修改源代码
2 不修改调用方法
目标:添加新功能