Benjamin Peterson wrote:
On Tue, Jun 10, 2008 at 8:10 PM, Maciej Fijalkowski <[EMAIL PROTECTED]> wrote:
What do you think about this code:

class A:
  locals()[42] = 98

Seems people rely on it working. Do we consider it part of python
language? (Note that you cannot do the same with getattr/setattr which
checks if argument is a string)

Seems like a bug to me, but I don't think there is much we can do
about it short of making locals a custom dict which rejects none
string keys.


Given that the documentation has for a long time said:

"""locals( )

Update and return a dictionary representing the current local symbol table. Warning: The contents of this dictionary should not be modified; changes may not affect the values of local variables used by the interpreter. """

it would be hard for the people who have relied on this behavior to complain if it stopped working. Basically retaining this behavior is pandering to people who have ignored the language specification!

regards
 Steve
--
Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC              http://www.holdenweb.com/

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to