[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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. -- Alan Bawden

- Prev by Date:
**if STREAM.isatty():** - Next by Date:
**Compare zip lists where order is important** - Previous by thread:
**An "Object" class?** - Next by thread:
**An "Object" class?** - Index(es):