我有两个课
class A()
class B(A)
有时A类通常被实例化,有时通过B类使用
super(B, self).__init__()
是否可以确定是从B还是从外部调用A类的init方法?
答案 0 :(得分:0)
您可以将type(self)
与A
进行比较:
class A(object):
def __init__(self):
if type(self) == A:
print('From A')
else:
print('From elsewhere')
class B(A):
pass
A()
B()
输出:
From A
From elsewhere
这是您仅有的几次想要type
胜过isinstance
的情况之一,尽管我不确定为什么首先要这样做。