]> granicus.if.org Git - python/commitdiff
SF bug #652888: bad documentation for the "type" builtin
authorRaymond Hettinger <python@rcn.com>
Fri, 10 Jan 2003 09:33:08 +0000 (09:33 +0000)
committerRaymond Hettinger <python@rcn.com>
Fri, 10 Jan 2003 09:33:08 +0000 (09:33 +0000)
Clarified that not all types are included.  The OP was looking for a
StaticMethodType.

Also, added a note and example suggesting the use of int,str, etc.
instead of IntType, StrType, etc.

Renamed the crummy variable name in the example from "list" to "mylist".

Doc/lib/libtypes.tex

index adbec3b3382c06d1cfa0a4c0a6bdef1ae2915f2f..8ca091187fdac97a06537f90fe79cecb5b03e0a8 100644 (file)
@@ -1,13 +1,15 @@
 \section{\module{types} ---
-         Names for all built-in types}
+         Names for built-in types}
 
 \declaremodule{standard}{types}
-\modulesynopsis{Names for all built-in types.}
+\modulesynopsis{Names for built-in types.}
 
 
-This module defines names for all object types that are used by the
-standard Python interpreter, but not for the types defined by various
-extension modules.  It is safe to use \samp{from types import *} ---
+This module defines names for types some object types that are used by
+the standard Python interpreter, but not for the types defined by various
+extension modules.  Also, it does not include some of the types that
+arise during processing such the \code{listiterator} type.
+It is safe to use \samp{from types import *} ---
 the module does not export any names besides the ones listed here.
 New names exported by future versions of this module will all end in
 \samp{Type}.
@@ -17,8 +19,22 @@ their argument types, like the following:
 
 \begin{verbatim}
 from types import *
-def delete(list, item):
+def delete(mylist, item):
     if type(item) is IntType:
+       del mylist[item]
+    else:
+       mylist.remove(item)
+\end{verbatim}
+
+Starting in Python 2.2, built-in factory functions such as
+\function{int()} and \function{str()} are also names for the
+corresponding types.  This is now the preferred way to access
+the type instead of using the \module{types} module.  Accordingly,
+the example above should be written as follows:
+
+\begin{verbatim}
+def delete(mylist, item):
+    if isinstance(item, int):
        del list[item]
     else:
        list.remove(item)