summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2005-08-24 07:07:44 (GMT)
committerRaymond Hettinger <python@rcn.com>2005-08-24 07:07:44 (GMT)
commit98fa1ca6cacde3af0bce3dfcf753a0048d742854 (patch)
tree5d0ba4e8e332525322c80563f3cc59d48f950dc9 /Doc
parentf9189d01cfb1e58960e2247a1557a4f99ad99e2a (diff)
downloadcpython-98fa1ca6cacde3af0bce3dfcf753a0048d742854.zip
cpython-98fa1ca6cacde3af0bce3dfcf753a0048d742854.tar.gz
cpython-98fa1ca6cacde3af0bce3dfcf753a0048d742854.tar.bz2
SF bug #1100368: Wrong "type()" syntax in docs
Docs were missing the name/bases/dict form of type(). (Much of the wording contributed by Steven Bethard.)
Diffstat (limited to 'Doc')
-rw-r--r--Doc/lib/libfuncs.tex38
1 files changed, 21 insertions, 17 deletions
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index cf1659b..c2bea2c 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -1019,26 +1019,30 @@ class C(B):
\begin{funcdesc}{type}{object}
Return the type of an \var{object}. The return value is a
- type\obindex{type} object. The standard module
- \module{types}\refstmodindex{types} defines names for all built-in
- types that don't already have built-in names.
- For instance:
+ type\obindex{type} object. The \function{isinstance()} built-in
+ function is recommended for testing the type of an object.
+
+ With three arguments, \function{type} functions as a constructor
+ as detailed below.
+\end{funcdesc}
+
+\begin{funcdesc}{type}{name, bases, dict}
+ Return a new type object. This is essentially a dynamic form of the
+ \keyword{class} statement. The \var{name} string is the class name
+ and becomes the \member{__name__} attribute; the \var{bases} tuple
+ itemizes the base classes and becomes the \member{__bases__}
+ attribute; and the \var{dict} dictionary is the namespace containing
+ definitions for class body and becomes the \member{__dict__}
+ attribute. For example, the following two statements create
+ identical \class{type} objects:
\begin{verbatim}
->>> import types
->>> x = 'abc'
->>> if type(x) is str: print "It's a string"
-...
-It's a string
->>> def f(): pass
-...
->>> if type(f) is types.FunctionType: print "It's a function"
-...
-It's a function
+ >>> class X(object):
+ ... a = 1
+ ...
+ >>> X = type('X', (object,), dict(a=1))
\end{verbatim}
-
- The \function{isinstance()} built-in function is recommended for
- testing the type of an object.
+\versionadded{2.2}
\end{funcdesc}
\begin{funcdesc}{unichr}{i}