diff Doc/lib/libstdtypes.tex @ 19243:788a16351e18 legacy-trunk

Describe the new semantics for setting and deleting a function's __dict__ attribute. Deleting it, or setting it to a non-dictionary result in a TypeError. Note that getting it the first time magically initializes it to an empty dict so that func.__dict__ will always appear to be a dictionary (never None). Closes SF bug #446645.
author Barry Warsaw <barry@python.org>
date Tue, 14 Aug 2001 18:22:24 +0000
parents ab8aa4302109
children dd8d6153a8c6
line wrap: on
line diff
--- a/Doc/lib/libstdtypes.tex	Tue Aug 14 15:32:16 2001 +0000
+++ b/Doc/lib/libstdtypes.tex	Tue Aug 14 18:22:24 2001 +0000
@@ -1047,19 +1047,14 @@
 attributes, which can be used to, e.g. attach metadata to functions.
 Regular attribute dot-notation is used to get and set such
 attributes. \emph{Note that the current implementation only supports
-function attributes on functions written in Python.  Function
-attributes on built-ins may be supported in the future.}
+function attributes on user-defined functions.  Function attributes on
+built-in functions may be supported in the future.}
 
 Functions have another special attribute \code{\var{f}.__dict__}
 (a.k.a. \code{\var{f}.func_dict}) which contains the namespace used to
-support function attributes.  \code{__dict__} can be accessed
-directly, set to a dictionary object, or \code{None}.  It can also be
-deleted (but the following two lines are equivalent):
-
-\begin{verbatim}
-del func.__dict__
-func.__dict__ = None
-\end{verbatim}
+support function attributes.  \code{__dict__} and \code{func_dict} can
+be accessed directly or set to a dictionary object.  A function's
+dictionary cannot be deleted.
 
 \subsubsection{Methods \label{typesmethods}}
 \obindex{method}