Python全栈day28(类的装饰器)

Posted minseo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python全栈day28(类的装饰器)相关的知识,希望对你有一定的参考价值。

  类是一个对象也可以像函数一样加装饰器

  类的装饰器.py

def deco(obj):
    print(‘======‘,obj)
    obj.x=1
    obj.y=2
    obj.z=3
    return obj

# @deco  #test=deco(test)
# def test():
#     print(‘test函数运行‘)


#运行了装饰器所以打印了装饰器里面的print内容 @deco #Foo=deco(Foo)
#====== class Foo: pass
#打印类的字典,其中xyz属性是在装饰器函数里面定义的 print(Foo.__dict__) #{‘__doc__‘: None, ‘z‘: 3, ‘y‘: 2, ‘__dict__‘: <attribute ‘__dict__‘ of ‘Foo‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Foo‘ objects>, ‘x‘: 1, ‘__module__‘: ‘__main__‘}

  本装饰器就是把类作为实参传递给函数deco然后把返回值赋值给Foo,在装饰器函数里面可以定义对应类的属性




以上是关于Python全栈day28(类的装饰器)的主要内容,如果未能解决你的问题,请参考以下文章

Python全栈之路Day20

Python全栈之路Day21

Python全栈之路Day22

Python全栈开发-Day7-面向对象编程2

python全栈学习总结六:装饰器

Python全栈---5.1---装饰器