我是否可以在一个要进行子类化的类中获取其子类实例的类变量?像这样:
class A:
...
def doStuff(self):
c = getChildClass(self)
setattr(c, 'anAttribute', value)
我想要做一些有趣的备忘录,这将使任务变得更加容易。
答案 0 :(得分:4)
如果您指的是实例本身的类,请使用self.__class__
。
答案 1 :(得分:1)
In [1]: class A(object):
...: def doStuff(self):
...: c = self.__class__
...: print c, c.__name__
...: setattr(c, 'moo', 'meow')
In [2]: class B(A):
...: pass
...:
In [3]: B().doStuff()
<class '__main__.B'> B
In [4]: B.moo
Out[4]: 'meow'
所以,self.__class__
就是您所需要的。