class A(object): def __init__(self, *args, **kwargs): pass class B(object): def __init__(self, *args, **kwargs): pass def __new__(cls, *args, **kwargs): return object.__new__(cls) class C(B): pass C(1, 2, 3) C.__bases__ = (A,) # fails in python3 C(1, 2, 3)