Discuss / Python / 装饰器

装饰器

Topic source

蔚蓝Weinan

#1 Created at ... [Delete] [Delete and Lock User]

在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。


蔚蓝Weinan

#2 Created at ... [Delete] [Delete and Lock User]

装饰器,比如@property  @classmethod  @staicmethod  底层都是通过描述符来实现的;

python在类中访问属性的顺序是  obj.__dict__ > type(obj).__dict__ >  class.__dict__

即 :实例的属性字典  > 类的属性字典 > 父类的属性字典

当搜索属性时,碰到数据描述符时(定义了set方法) 会优先搜索描述符。


  • 1

Reply