我可以执行以下操作来获得与实例一起使用的类的名称:
self.__class__.__name__
有没有一种方法可以在不涉及任何django内置类型的情况下获得基类名称?如果是这样的话,怎么能做到呢?例如,如果我有:
class Wire:
def __init__(self, default=True):
self.state = default
self.observers = []
class LED(Wire):
"""
For debugging."""
我怎么能得到(不知道可能有多少级别的继承(?:
>>> l = LED()
>>> l.get_base_case() # 'Wire'
您可以在对象的类型上使用mro()
:
type(l).mro()[1] # 0: the type itself, 1: base class in linear hierarchy, ...
这里mro代表方法解析顺序。