class S(type):
def __call__(self, *args, **kwargs):
print('S')
obj = super().__call__(*args, **kwargs)
return obj
class A:
def __call__(self, *args, **kwargs):
print('A的')
class B(A):
def __call__(self, *args, **kwargs):
print('B的')
class C(B,metaclass=S):
pass
q = C()
q()