[Python-Dev] Int FutureWarnings and other 2.4 TODOs

Andrew Koenig ark-mlist at att.net
Tue Dec 2 16:25:41 EST 2003

> > Aren't integers immutable?  If so, I would think it doesn't make sense
> for them to change representation, as they don't change value.

> I was using shorthand-speak meaning that different instances of the
> same class would use a different representation (which the class can
> somehow recognize by looking at the instance, of course).

Got it.

> > Anyway, if you want to use type to encode representation, I would
> > think that the various integer types should be related by
> > inheritance.  As a long can always substitute for an int, at least
> > in theory, I would think that long should be derived from int.  Then
> > isinstance(42L, int) would yield True.

> Or should int be a subclass of long?  I believe that OO theorists
> consider the base class the set with the largest number of elements
> (since it is the least constrained).  Now, all ints are longs, but all
> longs are not ints, since ints can only represent values in
> [-sys.maxint-1, sys.maxint].  According to this reasoning, long should
> be the base class.

I think that int should be the base class, because I can imagine long
supporting operations that int does not support, but not vice versa.

More information about the Python-Dev mailing list