A 'foolproof' way to query inheritance tree? numbers.Real in 2.6)

pythonlist.calin79 at spamgourmet.com pythonlist.calin79 at spamgourmet.com
Sun Apr 11 13:46:28 EDT 2010

Generally, if I want to know the inheritance tree of a class, I either
use inspect.getmro or __bases__

However, after reading about the new numbers module / class tower in
Python 2.6/3.0, I realized that both of these will fail to show that
the 'float' type actually inherits from numbers.Real:

>>> import inspect, numbers
>>> issubclass(float, numbers.Real)
>>> inspect.getmro(float)
(<class 'float'>, <class 'object'>)
>>> float.__bases__
(<class 'object'>,)

Is there a more foolproof way to query this information? Or is this
simply some sort of bug with the new implementation of numbers in
python 2.6?

- Paul

More information about the Python-list mailing list