correct decorator example, tweak description slightly
This commit is contained in:
parent
2eba0d6eb2
commit
9935e7fac0
|
@ -289,7 +289,9 @@ The \code{@classmethod} is shorthand for the
|
||||||
the following:
|
the following:
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@A @B @C
|
@A
|
||||||
|
@B
|
||||||
|
@C
|
||||||
def f ():
|
def f ():
|
||||||
...
|
...
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
@ -301,16 +303,18 @@ def f(): ...
|
||||||
f = A(B(C(f)))
|
f = A(B(C(f)))
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
Decorators must come on the line before a function definition, and
|
Decorators must come on the line before a function definition, one decorator
|
||||||
can't be on the same line, meaning that \code{@A def f(): ...} is
|
per line, and can't be on the same line as the def statement, meaning that
|
||||||
illegal. You can only decorate function definitions, either at the
|
\code{@A def f(): ...} is illegal. You can only decorate function
|
||||||
module level or inside a class; you can't decorate class definitions.
|
definitions, either at the module level or inside a class; you can't
|
||||||
|
decorate class definitions.
|
||||||
|
|
||||||
A decorator is just a function that takes the function to be decorated
|
A decorator is just a function that takes the function to be decorated as an
|
||||||
as an argument and returns either the same function or some new
|
argument and returns either the same function or some new object. The
|
||||||
callable thing. It's easy to write your own decorators. The
|
return value of the decorator need not be callable (though it typically is),
|
||||||
following simple example just sets an attribute on the function
|
unless further decorators will be applied to the result. It's easy to write
|
||||||
object:
|
your own decorators. The following simple example just sets an attribute on
|
||||||
|
the function object:
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
>>> def deco(func):
|
>>> def deco(func):
|
||||||
|
|
Loading…
Reference in New Issue