我想知道是否有办法以编程方式将属性写入运行函数的父类。我正在寻找类似以下的东西。
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"
答案 0 :(得分:2)
我不清楚你在追求什么。以下是两次尝试回答您的问题。
你可以制作一个装饰器,为类添加属性:
def add_items(cls):
cls.foo = "bar"
return cls
@add_items
class A(object):
pass
另一方面,如果你的函数是一个方法,它可以向类实例添加它想要的任何属性:
class B(object):
def add_items(self):
self.foo = 'Baz'
b = B()
b.add_items()