From 9935e7fac018b5b24463efcde61db0ced4d4b37d Mon Sep 17 00:00:00 2001 From: Skip Montanaro Date: Sun, 26 Dec 2004 15:29:28 +0000 Subject: correct decorator example, tweak description slightly --- Doc/whatsnew/whatsnew24.tex | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/Doc/whatsnew/whatsnew24.tex b/Doc/whatsnew/whatsnew24.tex index 3bb087a..3c98aa6 100644 --- a/Doc/whatsnew/whatsnew24.tex +++ b/Doc/whatsnew/whatsnew24.tex @@ -289,7 +289,9 @@ The \code{@classmethod} is shorthand for the the following: \begin{verbatim} -@A @B @C +@A +@B +@C def f (): ... \end{verbatim} @@ -301,16 +303,18 @@ def f(): ... f = A(B(C(f))) \end{verbatim} -Decorators must come on the line before a function definition, and -can't be on the same line, meaning that \code{@A def f(): ...} is -illegal. You can only decorate function 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 -as an argument and returns either the same function or some new -callable thing. It's easy to write your own decorators. The -following simple example just sets an attribute on the function -object: +Decorators must come on the line before a function definition, one decorator +per line, and can't be on the same line as the def statement, meaning that +\code{@A def f(): ...} is illegal. You can only decorate function +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 as an +argument and returns either the same function or some new object. The +return value of the decorator need not be callable (though it typically is), +unless further decorators will be applied to the result. It's easy to write +your own decorators. The following simple example just sets an attribute on +the function object: \begin{verbatim} >>> def deco(func): -- cgit v0.12