Chapter16 python进阶——闭包

时间:2021-07-28 03:31:14
一、闭包

闭包:内部函数对外部函数作用域内变量的引用(非全局变量),则称内部函数为闭包

Chapter16 python进阶——闭包

Chapter16 python进阶——闭包

装饰器

Chapter16 python进阶——闭包

装饰器其实就是一个闭包,把一个函数当作参数然后返回一个替代版函数。

装饰器有2个特性:

一是可以把被装饰的函数替换成其他函数

二是可以在加载模块时候立即执行

Chapter16 python进阶——闭包

Chapter16 python进阶——闭包

Chapter16 python进阶——闭包

 

通用装饰器:

不定长参数

带返回值


 

动态语言:可以在运行的过程中,修改代码

 

可以做的事情:

①为对象动态添加属性

注意为对象动态添加的属性仅适用于该对象

要使其他对象也能用需添加类属性:类名.属性 = xxx

②为类动态添加方法


Chapter16 python进阶——闭包


注意上述方法添加的方法仅适用于该对象

要使其他对象也能用需添加类属性:@classmethod @staticmethod

 

限制修改对象的属性:

Chapter16 python进阶——闭包