Si tengo código PythonPython clase super reflexión
class A():
pass
class B():
pass
class C(A, B):
pass
y tengo clase C
, hay una manera para recorrer es súper clasificada (A
y B
)? Algo así como pseudocódigo:
>>> magicGetSuperClasses(C)
(<type 'A'>, <type 'B'>)
Una solución parece ser inspect module y getclasstree
función.
def magicGetSuperClasses(cls):
return [o[0] for o in inspect.getclasstree([cls]) if type(o[0]) == type]
pero esta es una forma "Pythonian" de lograr el objetivo?
El adjetivo correcto es "Pythonic". – asmeurer
Ver también [Verificando si A es una superclase de B en Python] (/ q/1938755/1157100). –