Message262718
Regarding “free variables”, in Issue 17546 I proposed the wording “. . . also includes non-local, non-global names”.
In your code example, I would consider y to be 100 percent local to the g() function. It is a function parameter, and “y += 1” should work. I agree x is not a true local, it is a “non-local non-global”. A national variable maybe :)
For functions, considering that you shouldn’t modify the dictionary (original concern in Issue 17546), I do agree the behaviour is a bit strange and inconsistent. It might have made more sense to either only return true locals, or return a complete namespace of locals, non-locals, globals, and builtins. It seems there is no way to get a similar list of non-local non-globals in a class scope. |
|
Date |
User |
Action |
Args |
2016-04-01 03:36:16 | martin.panter | set | recipients:
+ martin.panter, rhettinger, docs@python |
2016-04-01 03:36:16 | martin.panter | set | messageid: <1459481776.11.0.164121959283.issue26683@psf.upfronthosting.co.za> |
2016-04-01 03:36:16 | martin.panter | link | issue26683 messages |
2016-04-01 03:36:15 | martin.panter | create | |
|