On 3/11/12 20:41:28, Aahz wrote: > [got some free time, catching up to threads two months old] > > In article <50475822$0$6867$e4fe5...@news2.news.xs4all.nl>, > Hans Mulder <han...@xs4all.nl> wrote: >> On 5/09/12 15:19:47, Franck Ditter wrote: >>> >>> - I should have said that I work with Python 3. Does that matter ? >>> - May I reformulate the queston : "a is b" and "id(a) == id(b)" >>> both mean : "a et b share the same physical address". Is that True ? >> >> Yes. >> >> Keep in mind, though, that in some implementation (e.g. Jython), the >> physical address may change during the life time of an object. >> >> It's usually phrased as "a and b are the same object". If the object >> is mutable, then changing a will also change b. If a and b aren't >> mutable, then it doesn't really matter whether they share a physical >> address. > > That last sentence is not quite true. intern() is used to ensure that > strings share a physical address to save memory.
That's a matter of perspective: in my book, the primary advantage of working with interned strings is that I can use 'is' rather than '==' to test for equality if I know my strings are interned. The space savings are minor; the time savings may be significant. -- HansM -- http://mail.python.org/mailman/listinfo/python-list