Chris Angelico <ros...@gmail.com>: > Sure, let me just put that into a function. CPython 3.7, although I'm > pretty sure most CPython versions will do the same, as will several of > the other Pythons. > [demonstration that it didn't work]
Ok. The reason is this: 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. <URL: https://docs.python.org/3/library/functions.html#locals> So the language specification explicitly ruled it out, unfortunately. > (Side point: Your slot_ref function is rather bizarre. It's a closure > AND a class, just in case one of them isn't sufficient. I don't see anything bizarre in it at all. I use the pattern all the time. It's called an inner class: In Python, it is possible to nest a class within another class, method or function. <URL: https://en.wikipedia.org/wiki/Inner_class#Programming_languages> Marko -- https://mail.python.org/mailman/listinfo/python-list