summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2016-08-03 07:17:21 (GMT)
committerBerker Peksag <berker.peksag@gmail.com>2016-08-03 07:17:21 (GMT)
commit6cafececbf4aaccc2edbefa9298ed54da27dadda (patch)
tree1e0282e19b38dfd58a91c2da4b085e26fde09155
parente12a68be3580a3c7b80d384b2664b1921a7ff55b (diff)
downloadcpython-6cafececbf4aaccc2edbefa9298ed54da27dadda.zip
cpython-6cafececbf4aaccc2edbefa9298ed54da27dadda.tar.gz
cpython-6cafececbf4aaccc2edbefa9298ed54da27dadda.tar.bz2
Issue #26576: Clarify that the @deco syntax is not always an equivalent of f = deco(f)
Patch by Chris Angelico.
-rw-r--r--Doc/reference/compound_stmts.rst9
1 files changed, 5 insertions, 4 deletions
diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst
index 2469422..88b94ea 100644
--- a/Doc/reference/compound_stmts.rst
+++ b/Doc/reference/compound_stmts.rst
@@ -503,11 +503,13 @@ are applied in nested fashion. For example, the following code ::
@f2
def func(): pass
-is equivalent to ::
+is roughly equivalent to ::
def func(): pass
func = f1(arg)(f2(func))
+except that the original function is not temporarily bound to the name ``func``.
+
.. index::
triple: default; parameter; value
single: argument; function definition
@@ -638,14 +640,13 @@ Classes can also be decorated: just like when decorating functions, ::
@f2
class Foo: pass
-is equivalent to ::
+is roughly equivalent to ::
class Foo: pass
Foo = f1(arg)(f2(Foo))
The evaluation rules for the decorator expressions are the same as for function
-decorators. The result must be a class object, which is then bound to the class
-name.
+decorators. The result is then bound to the class name.
**Programmer's note:** Variables defined in the class definition are class
attributes; they are shared by instances. Instance attributes can be set in a