An "Object" class?
Cristian Cocos <cristi at ieee.org> writes:
> Thank you! I can see that the taxonomy of built-in classes (i.e. the
> subclass/superclass relations) is not very developed. At the very least I
> would have loved to see stuff such as int declared as a subClass/subType
> of float and the like--that is, a class taxonomy in tune with standard
> mathematical practice, but I am guessing that mathematical kosher-ness had
> to take a back seat to implementational concerns.
Except that numbers of type `int' are _not_ a subset of numbers of
type `float'! Some ints are much larger that the largest float.
In fact, both `int' and `float' are subclasses of `numbers.Real'. While it
is true that `numbers.Real' does not appear in the list returned by
`type.mro(int)', nevertheless `issubclass(int, numbers.Real)' and
`isinstance(2, numbers.Real)' are true. `type.mro' tells you something
about the _implementation_ of `int' and `float' that you _usually_ shouldn't
concern yourself with. Stick to `isinstance' and `issubclass' and
everthing looks pretty kosher.