[英]How to create properties at runtime with Python?
所以我试图弄清楚我想做的事情是否可能。 我正在为应用程序编写一些测试代码,并且我的对象包含代表我们产品界面中的一些元素的属性。 我想要做的是能够将应用程序运行器和数据 object 传递给新的 class 并让它根据数据 ZA8CFDE6331BD59EB2AC96F8911C4B66 中的属性子集动态生成一组访问器属性到目前为止我的想法:
setattr
).[name]
而不是.[name]()
)我想除了步骤 3c 之外,我已经弄清楚了一切。 有没有办法在运行时动态创建属性? 任何帮助将不胜感激。
不确定那是你想要的。 但是您可以使用getattr和setattr方法定义动态只读属性。 这是一个例子:
class X(object):
data = {'x' : 123, 'y' : 456}
def __getattr__(self, name):
if name in self.data:
return self.data[name]
raise AttributeError(name)
def __setattr__(self, name, value):
if name in self.data:
return None
return super(X, self).__setattr__(name, value)
a = X()
print a.x, a.y
a.x = 0
print a.x
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.