diff options
author | Barry Warsaw <barry@python.org> | 2001-08-14 18:22:24 +0000 |
---|---|---|
committer | Barry Warsaw <barry@python.org> | 2001-08-14 18:22:24 +0000 |
commit | d67a9c0a13cc4458e3d71ccff182d82d0632b209 (patch) | |
tree | 4c1b5f72ddc4d217b0d7dcfbcbca48b4c21453d0 /Doc | |
parent | 365dd8967ee473d68b2f2351fdd075643a95287f (diff) | |
download | cpython-d67a9c0a13cc4458e3d71ccff182d82d0632b209.tar.gz |
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.
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/lib/libstdtypes.tex | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex index d478f31608..4949e600fc 100644 --- a/Doc/lib/libstdtypes.tex +++ b/Doc/lib/libstdtypes.tex @@ -1047,19 +1047,14 @@ Function objects also support getting and setting arbitrary 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} |