我想在其初始化期间使mixin类引用其自身的类。
如果我将其引用为self.__class__
,则它引用的是其所混入的实例的类,而不是其自身的类。如果引用mx.__class__
,则引用类'type'。
class mx:
def __init__(self):
print( self.__class__ )
print( mx.__class__ )
class C( mx ):
def __init__(self):
super().__init__()
>>> o = C()
<class '__main__.C'>
<class 'type'>
另一方面,如果我将其创建为自己的实例,则当它引用self时,它将获得我要查找的类引用。
>>> m = mx()
<class '__main__.mx'>
<class 'type'>
如何让mx自己引用<class '... .mx'>
?
答案 0 :(得分:1)
我想在其初始化期间使mixin类引用其自身的类。
这个问题令人困惑,因为您正在询问如何动态访问当前类,但实际上期望得到静态结果。相反,我建议改用mx
。