https://github.com/python/cpython/commit/93f5e26d9719d3526f1c81b5882ca4378a5e2e06
commit: 93f5e26d9719d3526f1c81b5882ca4378a5e2e06
branch: 3.14
author: Miss Islington (bot) <[email protected]>
committer: encukou <[email protected]>
date: 2025-10-07T19:59:29+02:00
summary:

[3.14] gh-137376: Add note on top-level `global` declarations (GH-137707) 
(GH-138023)


(cherry picked from commit 9f05f98730bbc36f4ad173845458827c4df879f6)

Co-authored-by: Petr Viktorin <[email protected]>
Co-authored-by: Brian Schubert <[email protected]>

files:
M Doc/reference/simple_stmts.rst

diff --git a/Doc/reference/simple_stmts.rst b/Doc/reference/simple_stmts.rst
index d674804df8f82e..9c022570e7e847 100644
--- a/Doc/reference/simple_stmts.rst
+++ b/Doc/reference/simple_stmts.rst
@@ -974,10 +974,17 @@ as globals. It would be impossible to assign to a global 
variable without
 :keyword:`!global`, although free variables may refer to globals without being
 declared global.
 
-The :keyword:`global` statement applies to the entire scope of a function or
-class body. A :exc:`SyntaxError` is raised if a variable is used or
+The :keyword:`!global` statement applies to the entire current scope
+(module, function body or class definition).
+A :exc:`SyntaxError` is raised if a variable is used or
 assigned to prior to its global declaration in the scope.
 
+At the module level, all variables are global, so a :keyword:`!global`
+statement has no effect.
+However, variables must still not be used or
+assigned to prior to their :keyword:`!global` declaration.
+This requirement is relaxed in the interactive prompt (:term:`REPL`).
+
 .. index::
    pair: built-in function; exec
    pair: built-in function; eval

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to