]> granicus.if.org Git - python/commitdiff
Added intern()
authorGuido van Rossum <guido@python.org>
Mon, 3 Mar 1997 16:03:27 +0000 (16:03 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 3 Mar 1997 16:03:27 +0000 (16:03 +0000)
Doc/lib/libfuncs.tex
Doc/libfuncs.tex

index ddb3a9197ff8a74b57537a3bdeab08d85d8e4a06..34d50d05ca35ef9211e46708a9e9dcbde0448a0c 100644 (file)
@@ -212,6 +212,19 @@ module from which it is called).
   the backslash convention.
 \end{funcdesc}
 
+\begin{funcdesc}{intern}{string}
+  Enter \var{string} in the table of ``interned'' strings and return
+  the interned string -- which is \var{string} itself or a copy.
+  Interning strings is useful to gain a little performance on
+  dictionary lookup -- if the keys in a dictionary are interned, and
+  the lookup key is interned, the key comparisons (after hashing) can
+  be done by a pointer compare instead of a string compare.  Normally,
+  the names used in Python programs are automatically interned, and
+  the dictionaries used to hold module, class or instance attributes
+  have interned keys.  Interned strings are immortal (i.e. never get
+  garbage collected).
+\end{funcdesc}
+
 \begin{funcdesc}{int}{x}
   Convert a number to a plain integer.  The argument may be a plain or
   long integer or a floating point number.  Conversion of floating
index ddb3a9197ff8a74b57537a3bdeab08d85d8e4a06..34d50d05ca35ef9211e46708a9e9dcbde0448a0c 100644 (file)
@@ -212,6 +212,19 @@ module from which it is called).
   the backslash convention.
 \end{funcdesc}
 
+\begin{funcdesc}{intern}{string}
+  Enter \var{string} in the table of ``interned'' strings and return
+  the interned string -- which is \var{string} itself or a copy.
+  Interning strings is useful to gain a little performance on
+  dictionary lookup -- if the keys in a dictionary are interned, and
+  the lookup key is interned, the key comparisons (after hashing) can
+  be done by a pointer compare instead of a string compare.  Normally,
+  the names used in Python programs are automatically interned, and
+  the dictionaries used to hold module, class or instance attributes
+  have interned keys.  Interned strings are immortal (i.e. never get
+  garbage collected).
+\end{funcdesc}
+
 \begin{funcdesc}{int}{x}
   Convert a number to a plain integer.  The argument may be a plain or
   long integer or a floating point number.  Conversion of floating