On 02/03/2015 11:40 PM, Peter Otten wrote:
CPython already does this for many common values, e. g. small integers and
variable names
a = 42
b = 42
a is b
True
a = 300
b = 300
a is b
False
The threshold seems to be 256 (last value where it evaluates to True):
>>> a = 1
>>> b = 1
>>> same = True
>>> while same:
... a += 1
... b += 1
... same = a is b
...
>>> a
257
>>> b
257
Interesting that it does that, and interesting that it doesn't work for
floats.
To know its class the foo instance only needs a reference to the class
object, not a complete copy of the class. This is typically provided by
putting a pointer into the instance, and this consumes only 8 bytes on 64-
bit systems.
Okay, I thought the way it was done was that each instance was a full,
independent, citizen/entity; with everything copied as many times as
there are instances, which somehow bothered me memory wise, but had an
appeal of having them completely separated.
...
Rest of the post is partially grasped and requires further reading to
fully appreciate. Thank you very much for taking the time and for the
example code.
--
~Jugurtha Hadjar,
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor