]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-36739: Update controlflow.rst (GH-12983)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 29 May 2019 03:48:12 +0000 (20:48 -0700)
committerGitHub <noreply@github.com>
Wed, 29 May 2019 03:48:12 +0000 (20:48 -0700)
in addition to global-statement also mention nonlocal-statement
(in the paragraph describing access to variables which are non local to a function
(cherry picked from commit e1f95e77e0647aff602e0660ba3c282b71045875)

Co-authored-by: pbhd <p-bauer-schriesheim@t-online.de>
Doc/tutorial/controlflow.rst

index ed42e2baaf3efa08a6d4582a43dfffa9c2813847..c3ce1205e52e41767b2bd1c3a038beb61ddaef59 100644 (file)
@@ -279,9 +279,11 @@ variables of the function.  More precisely, all variable assignments in a
 function store the value in the local symbol table; whereas variable references
 first look in the local symbol table, then in the local symbol tables of
 enclosing functions, then in the global symbol table, and finally in the table
-of built-in names. Thus, global variables cannot be directly assigned a value
-within a function (unless named in a :keyword:`global` statement), although they
-may be referenced.
+of built-in names. Thus, global variables and variables of enclosing functions
+cannot be directly assigned a value within a function (unless, for global
+variables, named in a :keyword:`global` statement, or, for variables of enclosing
+functions, named in a :keyword:`nonlocal` statement), although they may be
+referenced.
 
 The actual parameters (arguments) to a function call are introduced in the local
 symbol table of the called function when it is called; thus, arguments are