Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
9dca5eaf
Commit
9dca5eaf
authored
Feb 15, 2007
by
Georg Brandl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make functools.wraps() docs a bit clearer.
parent
13a98287
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
6 deletions
+11
-6
Doc/lib/libfunctools.tex
Doc/lib/libfunctools.tex
+11
-6
No files found.
Doc/lib/libfunctools.tex
View file @
9dca5eaf
...
...
@@ -53,15 +53,16 @@ two:
\begin{funcdesc}
{
update
_
wrapper
}
{
wrapper, wrapped
\optional
{
, assigned
}
\optional
{
, updated
}}
Update a
wrapper function to look like the wrapped function. The optional
arguments are tuples to specify which attributes of the original
Update a
\var
{
wrapper
}
function to look like the
\var
{
wrapped
}
function.
The optional
arguments are tuples to specify which attributes of the original
function are assigned directly to the matching attributes on the wrapper
function and which attributes of the wrapper function are updated with
the corresponding attributes from the original function. The default
values for these arguments are the module level constants
\var
{
WRAPPER
_
ASSIGNMENTS
}
(which assigns to the wrapper function's name,
module and documentation string) and
\var
{
WRAPPER
_
UPDATES
}
(which
updates the wrapper function's instance dictionary).
\var
{
WRAPPER
_
ASSIGNMENTS
}
(which assigns to the wrapper function's
\var
{__
name
__}
,
\var
{__
module
__}
and
\var
{__
doc
__}
, the documentation string)
and
\var
{
WRAPPER
_
UPDATES
}
(which updates the wrapper function's
\var
{__
dict
__}
,
i.e. the instance dictionary).
The main intended use for this function is in decorator functions
which wrap the decorated function and return the wrapper. If the
...
...
@@ -85,6 +86,7 @@ as a function decorator when defining a wrapper function. For example:
...
>>> @my
_
decorator
... def example():
... """Docstring"""
... print 'Called example function'
...
>>> example()
...
...
@@ -92,9 +94,12 @@ as a function decorator when defining a wrapper function. For example:
Called example function
>>> example.
__
name
__
'example'
>>> example.
__
doc
__
'Docstring'
\end{verbatim}
Without the use of this decorator factory, the name of the example
function would have been
\code
{
'wrapper'
}
.
function would have been
\code
{
'wrapper'
}
, and the docstring of the
original
\function
{
example()
}
would have been lost.
\end{funcdesc}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment