when to use intern()

Michael Hudson mwh21 at cam.ac.uk
Thu Apr 27 09:03:57 EDT 2000

Gregory Trubetskoy <grisha at ispol.com> writes:

> It says in the manual that some things in Python get interned
> automatically. I'm not sure where intern() is necessary - 

Almost never.
> if I have a statement like:
> if self.config.has_key("PythonOption"):
>    ...
> that gets executed a lot - should I consider interning "PythonOption" or

Well, you can, but...

> is it done automatically?


> what about
> PYTHON_OPTION = "PythonOption"
> if self.config.has_key(PYTHON_OPTION):
>    ...
> is this interned?


See Python/compile.c in the source distribution round about line 240
for the gory details...


48. The best book on programming for the layman is "Alice in
    Wonderland";  but  that's because it's  the best book on 
    anything for the layman.
     -- Alan Perlis, http://www.cs.yale.edu/~perlis-alan/quotes.html

More information about the Python-list mailing list