[Python-Dev] Scope object (Re: nonlocals() function?) (original) (raw)
Greg Ewing greg.ewing at canterbury.ac.nz
Tue Apr 6 11:13:08 CEST 2010
- Previous message: [Python-Dev] Scope object (Re: nonlocals() function?)
- Next message: [Python-Dev] Scope object (Re: nonlocals() function?)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Reid Kleckner wrote:
If I remember correctly, the exec statement is going away in py3k, and calling exec() with one argument can modify the local scope.
I've been kind of wondering what the deal is with exec in py3. I always thought the reason for making exec a statement was so that locals optimisation could be turned off in its presence, so I'm not sure how py3 is getting away with making it a function.
Anyhow, it seems to me that as long as locals() or whatever might replace it is able to find the existing value of a local, it should also be able to change that value, wherever it happens to be stored.
I suppose that might fail if an optimiser decides to keep multiple copies of a local for some reason, though.
But even if it has to be read-only, I still think a view object would be a more py3ish way of handling locals() and the like. You might only want access to a few locals, in which case building a dict containing all of them would be wasteful.
-- Greg
-- Greg
- Previous message: [Python-Dev] Scope object (Re: nonlocals() function?)
- Next message: [Python-Dev] Scope object (Re: nonlocals() function?)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]