Python "is" behavior
Gary Herron
gherron at islandtraining.com
Fri Jun 20 15:14:15 EDT 2008
michalis.avraam at gmail.com wrote:
> On Jun 20, 9:38 am, Jean-Paul Calderone <exar... at divmod.com> wrote:
>
>> On Fri, 20 Jun 2008 09:31:57 -0700 (PDT), michalis.avr... at gmail.com wrote:
>>
>>> I am not certain why this is the case, but...
>>>
>>>>>> a = 256
>>>>>> b = 256
>>>>>> a is b
>>>>>>
>>> True
>>>
>>>>>> a = 257
>>>>>> b = 257
>>>>>> a is b
>>>>>>
>>> False
>>>
>>> Can anyone explain this further? Why does it happen? 8-bit integer
>>> differences?
>>>
>> http://mail.python.org/pipermail/python-list/2001-November/113994.html
>>
>> Jean-Paul
>>
>
> Thank you for this Jean-Paul. I did know about the identity of
> objects, but my curiosity is based on the 256 number. Are the 2^8
> integers cached due to the internal loops, or is there any other
> specific reason? Is this something that can be controlled?
>
Python provides no way to change that number, but of course you can
always fiddle with the source code and recompile. The actual value is
a trade off (like any caching scheme) of cache-space versus efficiency
gains. The value has changed at least once in recent versions of Python.
Gary Herron
> --
> http://mail.python.org/mailman/listinfo/python-list
>
More information about the Python-list
mailing list