首页 > 其他 > 详细

类的装饰器

时间:2019-03-31 22:08:59      阅读:121      评论:0      收藏:0      [点我收藏+]
技术分享图片
def deco(func):
    print(======)
    return func

@deco           #--->test=deco(test)
def test():
    print(test----)

test()

#result
# ======
# test----


@deco               #------>Foo=deco(Foo)
class Foo:
    pass
#======
基本原理
技术分享图片
def deco(obj):
    obj.x=1
    obj.y=2
    obj.z=3
    return obj

@deco               #------>Foo=deco(Foo)
class Foo:
    pass


print(Foo.__dict__)
# {‘__module__‘: ‘__main__‘, ‘__dict__‘: <attribute ‘__dict__‘ of ‘Foo‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Foo‘ objects>, ‘__doc__‘: None, ‘x‘: 1, ‘y‘: 2, ‘z‘: 3}
View Code

 

类的装饰器

原文:https://www.cnblogs.com/wuweixiong/p/10633388.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!