Skip to content

Commit 2d24b13

Browse files
miss-islingtonencukoubrianschubert
authored
[3.13] gh-137376: Add note on top-level global declarations (GH-137707) (#138022)
(cherry picked from commit 9f05f98) Co-authored-by: Petr Viktorin <[email protected]> Co-authored-by: Brian Schubert <[email protected]>
1 parent df34903 commit 2d24b13

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

Doc/reference/simple_stmts.rst

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -972,10 +972,17 @@ as globals. It would be impossible to assign to a global variable without
972972
:keyword:`!global`, although free variables may refer to globals without being
973973
declared global.
974974

975-
The :keyword:`global` statement applies to the entire scope of a function or
976-
class body. A :exc:`SyntaxError` is raised if a variable is used or
975+
The :keyword:`!global` statement applies to the entire current scope
976+
(module, function body or class definition).
977+
A :exc:`SyntaxError` is raised if a variable is used or
977978
assigned to prior to its global declaration in the scope.
978979

980+
At the module level, all variables are global, so a :keyword:`!global`
981+
statement has no effect.
982+
However, variables must still not be used or
983+
assigned to prior to their :keyword:`!global` declaration.
984+
This requirement is relaxed in the interactive prompt (:term:`REPL`).
985+
979986
.. index::
980987
pair: built-in function; exec
981988
pair: built-in function; eval

0 commit comments

Comments
 (0)