python 装饰器 第十步:装饰器来装饰器一个类

 

 1 第十步:装饰器来装饰一个类
 2 def kuozhan(cls):
 3     print(cls)
 4 
 5     #声明一个类并且返回
 6     def newHuman():
 7         # 扩展类的功能1
 8         cls.cloth = '漂亮的小裙子'
 9         # 扩展类的功能2
10         cls.hat = '亮丽的绿帽子'
11         #调用类(实例化对象)
12         obj = cls()
13         #返回实例化对象
14         return obj
15     return newHuman #要让返回的newHuman也能实例化对象
16 #类(被装饰的类)
17 @kuozhan #Human = kuozhan(Human) = newHuman  有没有加()也很关键
18 #最后调用的result = Human()= newHuman()= obj = cls()= 扩展后的Human()
19 class Human:
20     #属性
21     sex = ''
22     age = 18
23 
24     #方法
25     def liaomei(self):
26         print('妹子,这块砖头是你掉的吗')
27 
28 #实例化对象
29 result = Human()
30 print(result)
31 print(result.__dict__)
32 print(result.cloth)
33 print(result.hat)

 

posted @ 2017-12-10 23:16  Bob__Zhang  阅读(312)  评论(0)    收藏  举报