https://github.com/python/cpython/commit/1558d993166636f371c1003107ec979db6744f21 commit: 1558d993166636f371c1003107ec979db6744f21 branch: main author: Quazi Irfan <[email protected]> committer: JelleZijlstra <[email protected]> date: 2024-04-20T18:42:51-07:00 summary:
Clarifying nonlocal doc: SyntaxError is raised if nearest enclosing scope is global (#114009) Co-authored-by: Jelle Zijlstra <[email protected]> files: M Doc/reference/executionmodel.rst diff --git a/Doc/reference/executionmodel.rst b/Doc/reference/executionmodel.rst index cea3a56ba51644..ed50faed6c940d 100644 --- a/Doc/reference/executionmodel.rst +++ b/Doc/reference/executionmodel.rst @@ -139,8 +139,9 @@ namespace. Names are resolved in the top-level namespace by searching the global namespace, i.e. the namespace of the module containing the code block, and the builtins namespace, the namespace of the module :mod:`builtins`. The global namespace is searched first. If the names are not found there, the -builtins namespace is searched. The :keyword:`!global` statement must precede -all uses of the listed names. +builtins namespace is searched next. If the names are also not found in the +builtins namespace, new variables are created in the global namespace. +The global statement must precede all uses of the listed names. The :keyword:`global` statement has the same scope as a name binding operation in the same block. If the nearest enclosing scope for a free variable contains _______________________________________________ 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]
