Terry J. Reedy <tjre...@udel.edu> added the comment:

Vedran: "How is that different from saying that "At any one time, the language 
and interpreter sees all the scopes as one scope for the purpose of accessing 
and rebinding."?"

For access, one may bypass the default staged access by specifying a specific 
namespace.  For rebinding elsewhere than in locals, one must specify one of the 
others.  So the 4 scopes are each visible.  However, the internal 'structure' 
of nonlocals is intentionally not visible or accessible.  (The proposal to make 
them somehow accessible was considered and rejected.)
---

The PR replaces 'at least three' with 'various'.  This is needlessly vague. 
There are always 3 namespaces and sometimes a 4th, so I think 'at least three' 
should be replaced with the specific '3 or 4'.

I rechecked two special cases.  Exception clauses with 'as name' bind name in 
the current local namespace and auto delete the binding when done.  
Comprehensions bind the name and iterator of the 'for' clause in a temporary 
new local namespace, making the existing namespace temporarily part of a 
nonlocal namespace, which may or may not have been present before.  '3 or 4' 
still applies in both cases.

----------
versions: +Python 3.10 -Python 3.7, Python 3.8

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue26205>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to