Antoon Pardon wrote:

> But I'll get back at what seems you actually wanted to say:
> That there is no way to rebind 'x' or in my case 'l' and
> with that I have to agree although I personnaly find that
> a lack in python

'no way' is a bit strong. You can use hacks such as the one I posted a 
couple of weeks back:

>>> import hack
>>> def F():
        l = 'hello there'
        def get():
                return l
        return hack.mksetter(lambda: l), get

>>> set, get = F()
>>> get()
'hello there'
>>> set('testing')
'testing'
>>> get()
'testing'

'no official, supported, or portable way' would be more accurate.

I've never actually felt the need to set variables from inside a nested 
function, and I wouldn't use a hack like this in production code unless 
there was a *very* good reason for it, but since I figured out how to 
actually do it I'm suprised just how many things could actually be 
simplified if there was an official way to do this.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to