【发布时间】:2019-11-02 04:03:08
【问题描述】:
我正在使用装饰器为我的 Python 类自动添加可序列化性。现在我想知道,我是否也可以为我想在装饰器中装饰的类设置一个属性。
def serialize(clazz):
def inner(actual_class_type):
actual_init = actual_class_type.__init__
def new_init(self, *args, **kwargs):
cool_thing = clazz()
# do stuff
actual_init(self, *args, **kwargs)
actual_class_type.__init__ = new_init
return actual_class_type
return inner
【问题讨论】:
-
可能吗?你的装饰器是什么样的?
-
@chepner 为什么需要特定的代码 sn-p?是否依赖于具体的装饰器实现?
-
因为如果您的装饰器定义了一个类并返回它,那么在该类定义中添加一个属性应该是微不足道的。如果没有,那么显示您的代码将使您在做什么以及如何修改它更清楚。
-
@chepner 如果它是微不足道的,那么写一个答案。显然这对我来说不是微不足道的。
-
我写不出答案,因为我不知道你的装饰器长什么样。
标签: python decorator python-decorators