You can  dynamically change base classes at runtime.  Such as:
class SomeParentClass:
    # something
class Child():
    # something
def change_base_clase(base_class):
    return type('Child', (base_class, object), dict(Child.__dict__))()
instance = change_base_clase(SomeParentClass)
For example:
class Base_1:
    def hello(self):
        print('hello_1')
class Base_2:
    def hello(self):
        print('hello_2')
class Child:pass
def add_base(base):
    return type('Child', (base, object), dict(Child.__dict__))()
# if you want change the Child class, just:
def change_base(base):
    global Child
    Child = type('Child', (base, object), dict(Child.__dict__))
def main():
    c1 = add_base(Base_1)
    c2 = add_base(Base_2)
    c1.hello()
    c2.hello()
main()
Result:
hello_1
hello_2
Works well in both python 2 and 3.
For more information, see the related question How to dynamically change base class of instances at runtime?