(全部在 ActivePython 3.1.2 中)
我试图更改类(而不是实例)属性。元__dict__
类的 似乎是完美的解决方案。但是当我尝试修改时,我得到了:
TypeError:“dict_proxy”对象不支持项目分配
为什么,我能做些什么呢?
编辑
我在类定义中添加属性。
setattr
不起作用,因为该类尚未构建,因此我还不能引用它(或者至少我不知道如何)。
传统分配不起作用,因为我要添加大量属性,其名称由特定规则确定(因此我不能只输入它们)。
换句话说,假设我class A
想A.a001
通过A.a999
; 并且必须在完全构建之前定义所有这些(因为否则 SQLAlchemy 将无法正确检测它)。
另请注意,我在原标题__dict__
中打错了字:我想修改的是普通类,而不是元类。