Does anybody know how Python manage internally int and long types?
- Does it choose the right type dynamically?
- What is the limit for an int?
- I am using Python 2.6, Is is different with previous versions?
How should I understand the code below?
>>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>
Update:
>>> print type(0x7fffffff)
<type 'int'>
>>> print type(0x80000000)
<type 'long'>
intandlongwere “unified” a few versions back. Before that it was possible to overflow an int through math ops.3.x has further advanced this by eliminating long altogether and only having int.
sys.maxintcontains the maximum value a Python int can hold.sys.getsizeof().sys.maxsizecontains the maximum size in bytes a Python int can be.sys.maxsize.