[Edu-sig] Sticky-note Analogy
Mark Tolonen
metolone+gmane at gmail.com
Fri May 9 18:21:19 CEST 2008
"kirby urner" <kirby.urner at gmail.com> wrote in message
news:f604188c0805090730v2163d12dw9970fcf4b96220ac at mail.gmail.com...
> I've suggesting seeing 8 as a name only briefly, temporary gestalt
> switch, then go back to seeing it as a literal, kind of like a name
> in that you can do dot notation on it, i.e. there's an underlying
> object that's responsive to these triggers (like 8 .__add__(5)
> instead of just 8 + 5). But is the underlying object "anonymous"?
>
> It has a memory location:
>
>>>> id(8)
> 12015636
>
>>>> id('8')
> 13259744
>
> And I'm able to refer to it. I didn't make up a name for it, like
> eight, because I didn't need to, it's already permanently
> accessible through 8.
>
Numbers are just language syntax to create objects. If they aren't assigned
a name, they disappear.
>>> x=1000
>>> y=x
>>> z=x
>>> y is z
True
x is the name of an object. y and z also are names for that object.
1000 is not a name:
>>> x=1000
>>> y=1000
>>> z=1000
>>> x is y
False
>>> x is z
False
>>> y is z
False
a new object is created each time.
-Mark
P.S. Note, at least in CPython, that same example won't work for small
numbers because of an implementation detail that caches the common 'small
number' objects for performance reasons.
>>> x=1
>>> y=1
>>> z=1
>>> x is y
True
>>> y is z
True
More information about the Edu-sig
mailing list