From 3e1dd3be4936fc1b1c0ad6ad6609f504b4e3e7a9 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 8 Mar 2005 07:15:36 +0000 Subject: [PATCH] Make functional.partial() more closely match the spec by emulating some useful features of regular functions: * Made weak referencable. * Allow attribute access so a user can set __name__, __doc__, etc. --- Doc/lib/libfunctional.tex | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Doc/lib/libfunctional.tex b/Doc/lib/libfunctional.tex index fa8ef460bf..86b1483050 100644 --- a/Doc/lib/libfunctional.tex +++ b/Doc/lib/libfunctional.tex @@ -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. -- 2.50.0