]> granicus.if.org Git - python/commitdiff
Add :term:s for descriptors.
authorGeorg Brandl <georg@python.org>
Sun, 21 Oct 2007 10:45:46 +0000 (10:45 +0000)
committerGeorg Brandl <georg@python.org>
Sun, 21 Oct 2007 10:45:46 +0000 (10:45 +0000)
Doc/distutils/apiref.rst
Doc/extending/newtypes.rst
Doc/glossary.rst
Doc/howto/functional.rst
Doc/library/_ast.rst
Doc/library/ctypes.rst
Doc/library/pyclbr.rst
Doc/library/stdtypes.rst
Doc/tutorial/modules.rst
Doc/using/cmdline.rst

index bc5d2b03d70d453bcffc8e7c9e7871bcafd77638..e3348816e35008ffbb8b1d71a2c01917906cf334 100644 (file)
@@ -1199,7 +1199,7 @@ other utility module.
 
    If *force* is true, all files are recompiled regardless of timestamps.
 
-   The source filename encoded in each bytecode file defaults to the filenames
+   The source filename encoded in each :term:`bytecode` file defaults to the filenames
    listed in *py_files*; you can modify these with *prefix* and *basedir*.
    *prefix* is a string that will be stripped off of each source filename, and
    *base_dir* is a directory name that will be prepended (after *prefix* is
index 2a535791353e0024f69402f37ccdd890964be4fc..e4d4e322166109a40760999d493ecd3be59c3d4a 100644 (file)
@@ -1149,7 +1149,7 @@ Note that this list does not place any restrictions on the values of the
 attributes, when the values are computed, or how relevant data is stored.
 
 When :cfunc:`PyType_Ready` is called, it uses three tables referenced by the
-type object to create *descriptors* which are placed in the dictionary of the
+type object to create :term:`descriptor`\s which are placed in the dictionary of the
 type object.  Each descriptor controls access to one attribute of the instance
 object.  Each of the tables is optional; if all three are *NULL*, instances of
 the type will only have attributes that are inherited from their base type, and
@@ -1193,7 +1193,7 @@ be read-only or read-write.  The structures in the table are defined as::
        char *doc;
    } PyMemberDef;
 
-For each entry in the table, a descriptor will be constructed and added to the
+For each entry in the table, a :term:`descriptor` will be constructed and added to the
 type which will be able to extract a value from the instance structure.  The
 :attr:`type` field should contain one of the type codes defined in the
 :file:`structmember.h` header; the value will be used to determine how to
index c92f6c2e759d0c80fc86b6344c79c7b4108d2a7c..88b1ccbce543585c5505d0c826cfa0fc02e35d25 100644 (file)
@@ -59,14 +59,16 @@ Glossary
     
    descriptor
       Any *new-style* object that defines the methods :meth:`__get__`,
-      :meth:`__set__`, or :meth:`__delete__`. When a class attribute is a
+      :meth:`__set__`, or :meth:`__delete__`.  When a class attribute is a
       descriptor, its special binding behavior is triggered upon attribute
-      lookup.  Normally, writing *a.b* looks up the object *b* in the class
-      dictionary for *a*, but if *b* is a descriptor, the defined method gets
-      called. Understanding descriptors is a key to a deep understanding of
-      Python because they are the basis for many features including functions,
-      methods, properties, class methods, static methods, and reference to super
-      classes.
+      lookup.  Normally, using *a.b* to get, set or delete an attribute looks up
+      the object named *b* in the class dictionary for *a*, but if *b* is a
+      descriptor, the respective descriptor method gets called.  Understanding
+      descriptors is a key to a deep understanding of Python because they are
+      the basis for many features including functions, methods, properties,
+      class methods, static methods, and reference to super classes.
+
+      For more information about descriptors' methods, see :ref:`descriptors`.
     
    dictionary
       An associative array, where arbitrary keys are mapped to values.  The use
index 78520d1b7f8bf79132970ee2dc05ad6a0b448368..39a1e0509f04d8fac9e2436c0f5a0d26fc258e7f 100644 (file)
@@ -448,8 +448,8 @@ Here's the simplest example of a generator function::
             yield i
 
 Any function containing a ``yield`` keyword is a generator function; this is
-detected by Python's :term:`bytecode` compiler which compiles the function specially as
-a result.
+detected by Python's :term:`bytecode` compiler which compiles the function
+specially as a result.
 
 When you call a generator function, it doesn't return a single value; instead it
 returns a generator object that supports the iterator protocol.  On executing
index 9b195be4670c0df5f4958ddd570f86fc156e55fa..9383591e658c9a1b0b7423ddb7c9b5c52970ce9a 100644 (file)
@@ -14,7 +14,7 @@ Abstract Syntax Trees
 The ``_ast`` module helps Python applications to process trees of the Python
 abstract syntax grammar. The Python compiler currently provides read-only access
 to such trees, meaning that applications can only create a tree for a given
-piece of Python source code; generating byte code from a (potentially modified)
+piece of Python source code; generating :term:`bytecode` from a (potentially modified)
 tree is not supported. The abstract syntax itself might change with each Python
 release; this module helps to find out programmatically what the current grammar
 looks like.
index a5d4a48991714277ba692440a6ca39816b4822b6..c28fcd3d90ee4190e5dccff4bec89971d6baaedf 100644 (file)
@@ -586,8 +586,8 @@ Nested structures can also be initialized in the constructor in several ways::
    >>> r = RECT(POINT(1, 2), POINT(3, 4))
    >>> r = RECT((1, 2), (3, 4))
 
-Fields descriptors can be retrieved from the *class*, they are useful for
-debugging because they can provide useful information::
+Field :term:`descriptor`\s can be retrieved from the *class*, they are useful
+for debugging because they can provide useful information::
 
    >>> print POINT.x
    <Field type=c_long, ofs=0, size=4>
@@ -1197,10 +1197,10 @@ Another example that may behave different from what one would expect is this::
    >>>
 
 Why is it printing ``False``?  ctypes instances are objects containing a memory
-block plus some descriptors accessing the contents of the memory.  Storing a
-Python object in the memory block does not store the object itself, instead the
-``contents`` of the object is stored. Accessing the contents again constructs a
-new Python each time!
+block plus some :term:`descriptor`\s accessing the contents of the memory.
+Storing a Python object in the memory block does not store the object itself,
+instead the ``contents`` of the object is stored.  Accessing the contents again
+constructs a new Python object each time!
 
 
 .. _ctypes-variable-sized-data-types:
@@ -2267,7 +2267,7 @@ other data types containing pointer type fields.
 
 Concrete structure and union types must be created by subclassing one of these
 types, and at least define a :attr:`_fields_` class variable. ``ctypes`` will
-create descriptors which allow reading and writing the fields by direct
+create :term:`descriptor`\s which allow reading and writing the fields by direct
 attribute accesses.  These are the
 
 
index 5a77b4e876576421dbdc3a4131924cdec41b7966..a052a69d1966e13d45326baeeaa4b324bf89285f 100644 (file)
@@ -19,10 +19,10 @@ in Python, including many standard and optional extension modules.
 .. function:: readmodule(module[, path])
 
    Read a module and return a dictionary mapping class names to class descriptor
-   objects.  The parameter *module* should be the name of a module as a string; it
-   may be the name of a module within a package.  The *path* parameter should be a
-   sequence, and is used to augment the value of ``sys.path``, which is used to
-   locate module source code.
+   objects.  The parameter *module* should be the name of a module as a string;
+   it may be the name of a module within a package.  The *path* parameter should
+   be a sequence, and is used to augment the value of ``sys.path``, which is
+   used to locate module source code.
 
    .. % The 'inpackage' parameter appears to be for internal use only....
 
index c773e9b25fe9d6125b9a509511cdf378c62385dc..44467af437d1b92a9ae1a6f5a3db525d50ba9e8b 100644 (file)
@@ -1899,8 +1899,7 @@ Files have the following methods:
 .. method:: file.fileno()
 
    .. index::
-      single: file descriptor
-      single: descriptor, file
+      pair: file; descriptor
       module: fcntl
 
    Return the integer "file descriptor" that is used by the underlying
index 500bd5933aeaee6798dd505eddafbf1a9a116678..fbe931e10183ea18355cd6e47ff753953d087eb9 100644 (file)
@@ -186,8 +186,8 @@ Some tips for experts:
 * When the Python interpreter is invoked with the :option:`-O` flag, optimized
   code is generated and stored in :file:`.pyo` files.  The optimizer currently
   doesn't help much; it only removes :keyword:`assert` statements.  When
-  :option:`-O` is used, *all* bytecode is optimized; ``.pyc`` files are ignored
-  and ``.py`` files are compiled to optimized bytecode.
+  :option:`-O` is used, *all* :term:`bytecode` is optimized; ``.pyc`` files are
+  ignored and ``.py`` files are compiled to optimized bytecode.
 
 * Passing two :option:`-O` flags to the Python interpreter (:option:`-OO`) will
   cause the bytecode compiler to perform optimizations that could in some rare
index eb18c898b336efcc27f080579cd80bd2bcab1c39..952adb2d0d8adc4bdd9bba9c573af0fae64281bc 100644 (file)
@@ -169,7 +169,7 @@ Miscellaneous options
 .. cmdoption:: -O
 
    Turn on basic optimizations.  This changes the filename extension for
-   compiled (:term:`byte code`) files from ``.pyc`` to ``.pyo``.  See also
+   compiled (:term:`bytecode`) files from ``.pyc`` to ``.pyo``.  See also
    :envvar:`PYTHONOPTIMIZE`.