summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2005-08-24 07:06:25 (GMT)
committerRaymond Hettinger <python@rcn.com>2005-08-24 07:06:25 (GMT)
commit76fb6d84d08c636a51073c5a51b93db14b06555e (patch)
treee751e5122f800738bcba8ec3184833a41f673979 /Doc
parentfaffa15842cea1d1c3c62d5c01455c36d77b36ad (diff)
downloadcpython-76fb6d84d08c636a51073c5a51b93db14b06555e.zip
cpython-76fb6d84d08c636a51073c5a51b93db14b06555e.tar.gz
cpython-76fb6d84d08c636a51073c5a51b93db14b06555e.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 feac346..98b4cfd 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -1057,26 +1057,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}