【发布时间】:2021-07-14 08:21:16
【问题描述】:
我成功地实现了一个描述符来清理我的代码,并且到目前为止它运行良好。此时我的代码看起来基本上是这样的
class ABC:
att1 = Descriptor(arg1)
att2 = Descriptor(arg2)
att3 = Descriptor(arg3)
但是,为了进一步减少重复,我想做这样的事情
class ABC:
att_arg = {'att1':arg1,
'att2':arg2,
'att3':arg3}
for att, arg in att_arg.items():
setattr(ABC, att, Descriptor(arg))
但这会导致NameError: name 'ABC' is not defined。
已经考虑过使用包装类来执行此操作,但有人知道对此的优雅解决方案吗?
【问题讨论】:
标签: python-3.x python-descriptors