<div dir="ltr"><br><div class="gmail_quote"><div dir="ltr">On Sun, Mar 25, 2018 at 5:51 PM Guido van Rossum <<a href="mailto:guido@python.org">guido@python.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>In the PEP 572 threads there's some grumbling about class scopes.<br><br>Here's a random brainstorm. How about we change the scoping rules so that only functions defined with 'def' (or inside one of those) cannot see the class scope, and comprehensions and lambdas treat the class scope as an outer scope so they can close over class variables?<br><br></div><div>Not sure what should happen to nested classes, they should probably be lumped in with the 'def' scopes.<br></div><div><div><div><br></div></div></div></div></blockquote><div><br></div><div>I would expect classes to behave like comprehensions - i.e. code that is not delayed will see the class' scope as an enclosing scope (since it is not namespaced yet so there's no other way to refer to it) and delayed code (e.g. lambdas or defs) will not.</div><div><br></div><div>ElazarĀ </div></div></div>