如何使 super class 引用自身
how make super class refer to itself
我想让一个 mixin class 在初始化期间引用它自己的 class。
如果我让它引用 self.__class__
,那么它引用它所混入的实例的 class,而不是它自己的 class。如果指的是mx.__class__
如果指的是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'>
另一方面,如果我将它创建为它自己的一个实例,它会得到我在引用自身时寻找的 class 引用。
>>> m = mx()
<class '__main__.mx'>
<class 'type'>
如何让 mx 从自身引用 <class '... .mx'>
?
I want to make a mixin class refer to its own class during its init.
问题令人困惑,因为您询问的是如何动态访问当前 class,但实际上期望的是静态结果。我建议改用 mx
。
我想让一个 mixin class 在初始化期间引用它自己的 class。
如果我让它引用 self.__class__
,那么它引用它所混入的实例的 class,而不是它自己的 class。如果指的是mx.__class__
如果指的是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'>
另一方面,如果我将它创建为它自己的一个实例,它会得到我在引用自身时寻找的 class 引用。
>>> m = mx()
<class '__main__.mx'>
<class 'type'>
如何让 mx 从自身引用 <class '... .mx'>
?
I want to make a mixin class refer to its own class during its init.
问题令人困惑,因为您询问的是如何动态访问当前 class,但实际上期望的是静态结果。我建议改用 mx
。