summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2002-02-23 04:40:15 (GMT)
committerTim Peters <tim.peters@gmail.com>2002-02-23 04:40:15 (GMT)
commit9f4341b3b0e7bfe886066bcbed484f3041cca7ef (patch)
treeec17fae14007fd7f5c2a9aa5e444d1a8245614d2
parentf8b1f2431bd5dca75a82015e890b39e5071e6f87 (diff)
downloadcpython-9f4341b3b0e7bfe886066bcbed484f3041cca7ef.zip
cpython-9f4341b3b0e7bfe886066bcbed484f3041cca7ef.tar.gz
cpython-9f4341b3b0e7bfe886066bcbed484f3041cca7ef.tar.bz2
SF bug #501591: dir() doc is old
Bugfix candidate. + Updated dir() description to match actual 2.2 behavior. + Replaced the dir(sys) example with dir(struct), because the former was way out of date and is bound to change frequently, while the latter is stable. + Added a note cautioning that dir() is supplied primarily for convenience at an interactive prompt (hoping to discourage its use as the foundation of introspective code outside the core).
-rw-r--r--Doc/lib/libfuncs.tex31
1 files changed, 22 insertions, 9 deletions
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index c115a95..e0d1a63 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -206,20 +206,33 @@ def my_import(name):
\begin{funcdesc}{dir}{\optional{object}}
Without arguments, return the list of names in the current local
symbol table. With an argument, attempts to return a list of valid
- attribute for that object. This information is gleaned from the
+ attributes for that object. This information is gleaned from the
object's \member{__dict__} attribute, if defined, and from the class
- or type object. The list is not necessarily complete. For
- example, for classes, attributes defined in base classes are not
- included, and for class instances, methods are not included.
- The resulting list is sorted alphabetically. For example:
+ or type object. The list is not necessarily complete.
+ If the object is a module object, the list contains the names of the
+ module's attributes.
+ If the object is a type or class object,
+ the list contains the names of its attributes,
+ and recursively of the attributes of its bases.
+ Otherwise, the list contains the object's attributes' names,
+ the names of its class's attributes,
+ and recursively of the attributes of its class's base classes.
+ The resulting list is sorted alphabetically.
+ For example:
\begin{verbatim}
->>> import sys
+>>> import struct
>>> dir()
-['sys']
->>> dir(sys)
-['argv', 'exit', 'modules', 'path', 'stderr', 'stdin', 'stdout']
+['__builtins__', '__doc__', '__name__', 'struct']
+>>> dir(struct)
+['__doc__', '__name__', 'calcsize', 'error', 'pack', 'unpack']
\end{verbatim}
+
+ \note{Because \function{dir()} is supplied primarily as a convenience
+ for use at an interactive prompt,
+ it tries to supply an interesting set of names more than it tries to
+ supply a rigorously or consistently defined set of names,
+ and its detailed behavior may change across releases.}
\end{funcdesc}
\begin{funcdesc}{divmod}{a, b}