On Fri, 17 Jun 2016 01:53 am, Julien Salort wrote: > Ethan Furman <et...@stoneleaf.us> wrote: > >> If that is all correct, then, as Random suggested, move that loop into >> the class body and use locals() [1] to update the class dictionary. >> Just make sure and delete any temporary variables.[ > [...] >> [1] https://docs.python.org/3/library/functions.html#locals >> Yes, returning the class namespace is a language gaurantee. > > But that says: > "Note The contents of this dictionary should not be modified; changes > may not affect the values of local and free variables used by the > interpreter."
That only applies to locals() inside a function. The intent of locals() inside a class is to be writable, and if the docs don't explicitly make that guarantee, they should. http://bugs.python.org/issue27335 -- Steven -- https://mail.python.org/mailman/listinfo/python-list