【发布时间】:2014-05-26 09:49:53
【问题描述】:
我想知道是否有办法以编程方式将属性写入运行函数的父类的类。我正在寻找类似以下的东西。
def add_items():
setattr(ParentClass, 'foo', 'bar')
class A(object):
add_items()
class B(object):
add_items()
a = A()
b = B()
print a.foo
"bar"
print b.foo
"bar"
【问题讨论】:
-
AFAIK 没有直接的方法可以做到这一点。您可以尝试使用
inspect模块,但它会给出的最有趣(在您的情况下)信息是调用者对象的名称(A或B) -
我不确定你想要什么。但是,如果您只想自定义类创建(例如,在创建类时将属性写入类),则可以使用元类而不是函数调用。 docs.python.org/2/reference/…