summaryrefslogtreecommitdiffstats
path: root/Doc/tutorial
diff options
context:
space:
mode:
authorShanavas M <shanavas.m2@gmail.com>2020-01-23 18:09:21 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2020-01-23 18:09:21 (GMT)
commit7142df5ea23b4ce0efb72746b4b3b65414e8dcb1 (patch)
treeee813cfe9460eb9051303851ceb2d2b52141c727 /Doc/tutorial
parent99e6c260d60655f3d2885af545cbc220b808d492 (diff)
downloadcpython-7142df5ea23b4ce0efb72746b4b3b65414e8dcb1.zip
cpython-7142df5ea23b4ce0efb72746b4b3b65414e8dcb1.tar.gz
cpython-7142df5ea23b4ce0efb72746b4b3b65414e8dcb1.tar.bz2
bpo-39431: Also mention nonlocal in assignment quirk (GH-17375)
Diffstat (limited to 'Doc/tutorial')
-rw-r--r--Doc/tutorial/classes.rst8
1 files changed, 4 insertions, 4 deletions
diff --git a/Doc/tutorial/classes.rst b/Doc/tutorial/classes.rst
index 0c0dca9..f781fec 100644
--- a/Doc/tutorial/classes.rst
+++ b/Doc/tutorial/classes.rst
@@ -143,10 +143,10 @@ language definition is evolving towards static name resolution, at "compile"
time, so don't rely on dynamic name resolution! (In fact, local variables are
already determined statically.)
-A special quirk of Python is that -- if no :keyword:`global` statement is in
-effect -- assignments to names always go into the innermost scope. Assignments
-do not copy data --- they just bind names to objects. The same is true for
-deletions: the statement ``del x`` removes the binding of ``x`` from the
+A special quirk of Python is that -- if no :keyword:`global` or :keyword:`nonlocal`
+statement is in effect -- assignments to names always go into the innermost scope.
+Assignments do not copy data --- they just bind names to objects. The same is true
+for deletions: the statement ``del x`` removes the binding of ``x`` from the
namespace referenced by the local scope. In fact, all operations that introduce
new names use the local scope: in particular, :keyword:`import` statements and
function definitions bind the module or function name in the local scope.