<div dir="ltr"><div dir="ltr"><div>Oh, bracket my brain glitch on small integers.  Yes, they still give id() of memory address, they just get reused, which is different.  Nonetheless, I never teach id(obj) == ctypes.c_void_p.from_buffer(ctypes.py_object(b)).value ... and not only because I only learned the latter spelling from eryk sun.</div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 18, 2019 at 10:29 AM David Mertz <<a href="mailto:mertz@gnosis.cx">mertz@gnosis.cx</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><div class="gmail_quote"><div dir="ltr">On Fri, Jan 18, 2019, 5:55 AM Antoine Pitrou <<a href="mailto:solipsis@pitrou.net" target="_blank">solipsis@pitrou.net</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
> id() returning the address of the object should be a guaranteed feature <br>
<br>
For me, the definitive answer is "yes, it's a CPython feature".<br>That doesn't mean the CPython feature has to live forever.  We may want to deprecate it at some point</blockquote></div></div><div dir="auto"><br></div><div dir="auto">Whenever I've taught Python (quite a bit between writing, in person, and webinars), I have been very explicit in stating that id(obj) returns some unique number for each object, and mentioned that for MANY Python objects CPython users an implementation convenience of using the memory address.</div><div dir="auto"><br></div><div dir="auto">Every time I've explained it I've said not to rely on that implementation detail. It's not true for small integers, for example, even in CPython.</div><div dir="auto"></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Keeping medicines from the bloodstreams of the sick; food <br>from the bellies of the hungry; books from the hands of the <br>uneducated; technology from the underdeveloped; and putting <br>advocates of freedom in prisons.  Intellectual property is<br>to the 21st century what the slave trade was to the 16th.<br></div></div></div>