创建类时,输入之一是要从中继承的基类的元组。
例如,
class K(str, list, dict):
pass
...或...
Klass = type("Klass", (Class1, Class2, Class3), dict())
我想要一个类继承自另一个类所做的所有相同类。 inspect.getmro()
返回的结果比简单的元组复杂得多,在简单的元组中,每个元素都是一个类。
假设我们想要相同的方法解析顺序。
def mro2tuple(_mro):
# MAGIC HAPPENS HERE
return tuppy
如何从方法解析顺序中获取基类的元组?我想知道是否可以编写如下内容:
import inspect
Klass1_mro = inspect.getmro(Klass1)
bases = mro2tuple(Klass1_mro):
Klass2 = type("Klass2", bases, dict())
答案 0 :(得分:4)
您不应该尝试从mro继承,仅从其他类的基类继承就足够了。
new_class = type('Newclass', old_class.__bases__, {})