[Tutor] a question about maxint

eryksun eryksun at gmail.com
Tue Oct 2 19:53:25 CEST 2012


On Tue, Oct 2, 2012 at 12:55 PM, Katya Stolpovskaya
<katerina.sto at gmail.com> wrote:
>
> I have this error:
>
>>>> from sys import *
>>>> maxint
> Traceback (most recent call last):
> File "<pyshell#4>", line 1, in <module>
> maxint
> NameError: name 'maxint' is not defined
>
>
> What does it mean and how to deal with it?

The "int" type in Python 3 is actually a "long", so there is no maxint.

The machine limit that's still relevant in CPython is sys.maxsize
(it's also in Python 2), which should be the maximum value of an
ssize_t (signed size_t) on your platform. For example, this limits the
maximum length of a list. It has to be signed because negative values
are used in some cases to indicate errors. For example, list.sort()
sets the "allocated" size to -1 in order to detect if the list has
been mutated during the sort:

http://hg.python.org/cpython/file/bd8afb90ebf2/Objects/listobject.c#l1932
http://hg.python.org/cpython/file/bd8afb90ebf2/Objects/listobject.c#l2042

Further reading:

Using ssize_t as the index type
http://www.python.org/dev/peps/pep-0353

http://en.wikipedia.org/wiki/C_data_types#Size_and_pointer_difference_types


More information about the Tutor mailing list