阅读背景:

Python之路(第二十八篇) 面向对象进阶:类的装饰器、元类

来源:互联网 

一、类的装饰器

类作为一个对象,也可以被装饰。

例子

  def wrap(obj):
      print("装饰器-----")
      obj.x = 1
      obj.y = 3
      obj.z = 5
      return obj
  ​
  @wrap  #将Foo类作为一个参数传入装饰器函数wrap,返回同时返回该对象,把新对象重新命名为Foo
  #即 Foo = wrap(Foo)
  class Foo:
      pass
  ​
  #执行结果:
  #装饰器-----
  ​
  print(Foo.__dict__) #输出结果可以看到,新的Foo类新增了x,y,z属性
  def wrap



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: