]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Make functional.partial() more closely match the spec by emulating some useful featur...
authorRaymond Hettinger <python@rcn.com>
Tue, 8 Mar 2005 07:15:36 +0000 (07:15 +0000)
committerRaymond Hettinger <python@rcn.com>
Tue, 8 Mar 2005 07:15:36 +0000 (07:15 +0000)
* Made weak referencable.
* Allow attribute access so a user can set __name__, __doc__, etc.

Doc/lib/libfunctional.tex

index fa8ef460bf3da2a93c1cdebfa1d396a0586293cf..86b148305041342496866f0f2bd84c0d2c813257 100644 (file)
@@ -44,6 +44,7 @@ the \function{int} function where the \var{base} argument defaults to
 two:
   \begin{verbatim}
         >>> basetwo = partial(int, base=2)
+        >>> basetwo.__doc__('Convert base 2 string to an int.')
         >>> basetwo('10010')
         18
   \end{verbatim}
@@ -71,3 +72,10 @@ positional arguments provided to a \class{partial} object call.
 The keyword arguments that will be supplied when the \class{partial} object
 is called.
 \end{memberdesc}
+
+\class{partial} objects are like \class{function} objects in that they are
+callable, weak referencable, and can have attributes.  There are some
+important differences.  For instance, the \member{__name__} and
+\member{__doc__} attributes are not created automatically.  Also,
+\class{partial} objects defined in classes behave like static methods and
+do not transform into bound methods during instance attribute look-up.