Consider the following code:
class A(object): def __init__(self): pass class B(object): def __init__(self): self.something = \'blue\'
Superclasses should use super if their subclasses do. If you add the super().__init__() line into A and B your example should work again.
super().__init__()
Check the method resolution order of C:
>>> C.mro() [__main__.C, __main__.A, __main__.B, builtins.object]
This article should clear things up.