Python 我想得到一个子类的类
在一个要被子类化的类中,我可以为其子类的实例获取类变量吗?大概是这样的:Python 我想得到一个子类的类,python,Python,在一个要被子类化的类中,我可以为其子类的实例获取类变量吗?大概是这样的: class A: ... def doStuff(self): c = getChildClass(self) setattr(c, 'anAttribute', value) 有一些有趣的备忘录我想做,这将使任务更容易 如果您指的是实例本身的类,请使用self.\uuuu class\uuuuu如果您指的是实例本身的类,请在[1]:类A(对象)中使用self.\uuuu
class A:
...
def doStuff(self):
c = getChildClass(self)
setattr(c, 'anAttribute', value)
有一些有趣的备忘录我想做,这将使任务更容易 如果您指的是实例本身的类,请使用
self.\uuuu class\uuuuu
如果您指的是实例本身的类,请在[1]:类A(对象)中使用self.\uuuu class\uuuuu
:
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'
…:def剂量(自身):
…:c=自我__
…:打印c,c.\u名称__
…:setattr(c,'moo','meow')
在[2]中:B(A)类:
…:通过
...:
在[3]中:B().doStuff()
B
在[4]中:B.moo
出[4]:“喵”
所以,self.\uuuuu class\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
…:def剂量(自身):
…:c=自我__
…:打印c,c.\u名称__
…:setattr(c,'moo','meow')
在[2]中:B(A)类:
…:通过
...:
在[3]中:B().doStuff()
B
在[4]中:B.moo
出[4]:“喵”
因此,
self.\uuuuu class\uuuuuuu
是您所需要的。这将返回子类而不是超类?它将返回对象的实际类,而不是代码的类。无法获取“包含此函数的原始类”,如果这是你的意思。这将返回子类而不是超类?它将返回对象的实际类,而不是代码的类。如果这是你的意思,那么无法获得“包含此函数的原始类”。