8.python之面相对象part.8(类装饰器)
2017-04-25 18:40
302 查看
下面是一个对类使用装饰器的一个示例,主要目的就是给一个定义好的类通过装饰器的形式去临时增加属性或者方法。
def add_property(**kwargs):
def deco(obj):
for key,value in kwargs.items():
setattr(obj,key,value)
return obj
return deco
@ add_property(a=1,b=2,c=3)
class test:
pass
t1 = test()
print test.a
print test.b
print test.c
输出:
1
2
3
这个装饰器不止可以用在类中也可以用在对象上面。
def add_property(**kwargs):
def deco(obj):
for key,value in kwargs.items():
setattr(obj,key,value)
return obj
return deco
@ add_property(a=1,b=2,c=3)
class test:
pass
t1 = test()
print test.a
print test.b
print test.c
输出:
1
2
3
这个装饰器不止可以用在类中也可以用在对象上面。
相关文章推荐
- 8.python之面相对象part.1(初识类与对象)
- 8.python之面相对象part.6(python类中的多态与多态性)
- 8.python之面相对象part.5(子类调用父类的方法,以及super关键字)
- 8.python之面相对象part.9(初识元类part.1)
- 8.python之面相对象part.6(python面向对象之封装的概念)
- 8.python之面相对象part.8(__slots__属性)
- 补8.python之面相对象part.6(补充授权与继承的概念)
- 8.python之面相对象part.6(反射&__call__,__setattr__,__delattr__,__getattr__)
- 补8.python之面相对象part.7(类相关函数的补充)
- 8.python之面相对象part.4(接口继承的思想设计,这种东西也叫抽象类)
- 8.python之面相对象part.3(类的继承)
- 8.python之面相对象part.7(__setitem__,__getitem,__delitem__)
- 8.python之面相对象part.2(特殊属性,类方法,静态方法)
- 黑马程序员------object-c面相对象_类的实例化
- python面相对象进阶
- HTML DOM 教程Part3 [DOM 常规对象] 摘录自W3C School
- GMF中,由xxxEditPart获得模型对象的方法的方法
- 详述面相对象编程思想
- Java方法参数太多怎么办—Part 2—引入参数对象
- Windows Via C/C++ Part Ⅰ Chapter3: 内核对象(1)