通过父类作为参数?


问题内容

创建实例之前,可以不指定父类吗?
例如这样的事情:

class SomeParentClass:
    # something

class Child(unspecifiedParentClass):
    # something

instance = Child(SomeParentClass)

这显然行不通。但是有可能这样做吗?


问题答案:

你尝试过这样的事情吗?

class SomeParentClass(object):
    # ...
    pass

def Child(parent):
    class Child(parent):
        # ...
        pass

    return Child()

instance = Child(SomeParentClass)

在Python 2.x中,还请确保包含object作为父类的超类,以使用新样式的类。