How do I do this? (eval() on the left hand side)
Peter Otten
__peter__ at web.de
Thu Dec 9 03:05:20 EST 2004
Caleb Hattingh wrote:
> I am convinced now that locals() doesn't work as (I) expected. Steven
> says there was some or other reason why locals() as used in this context
> is not writable - Do you know why this is? I really do not like
> guidelines like "may not work", "is unreliable" and so on. Perhaps this
> is a character flaw, but I really do like to know what works, when it
> works, and when it doesn't work.
I think Peter Hansen has answered that. Your expectations were just wrong.
> In this scenario, we can see it doesn't work. To my eyes, it doesn't work
> *in the way I expect* (which is highly subjective, no argument there).
> Would this be a situation where it would be nice to have an exception
> thrown if locals() is assigned to in a scope where it is not writable?
If python were to throw an exception, it should always be thrown. But I'm
the wrong one to worry about that as I didn't even find a single
globals()[name] = value
assignment in my scripts. I want to know a variable's name, or I put it in a
dictionary.
> It would also be nice if globals and locals behaved the same, differing
> only in scope (which is what I expected originally anyway). But we can't
> have everything, I guess :)
That would mean that both would become read-only, I guess, but I don't see
that happen.
Peter
More information about the Python-list
mailing list