What's the difference between the mro method and the __mro__ attribute of a class?
问题 I stumbled across this extra, no-underscores mro method when I was using __metaclass__ = abc.ABCMeta . It seems to be the same as __mro__ except that it returns a list instead of a tuple. Here's a random example (ideone snippet): import abc import copy class Life(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod def reproduce(self): pass class Bacterium(Life): def reproduce(self): return copy.deepcopy(self) wiggly = Bacterium() print wiggly.__class__.__mro__ # (<class '__main__