Thomas Heller wrote: > > From: "Thomas Heller" <thomas.heller@ion-tof.com> > > How do I achieve the desired effect? Note that the default argument > > trick (def mth(i=i): ...) does not work because *args is present. > Answering my own question (sorry), this works: > > def functions(): > result = [] > for i in range(10): > def make_function(index): > def mth(): > return index > return mth > mth = make_function(i) > result.append(mth) > i = 25 > return result > > for mth in functions(): > print mth() > > But how will I understand this 3 months from now? Why do you put the function definitions *inside* the functions() constructor ? AFAICTL the confusion is caused by this overly complicated nesting which doesn't seem necessary. -- Marc-Andre Lemburg CEO eGenix.com Software GmbH ______________________________________________________________________ Consulting & Company: http://www.egenix.com/ Python Software: http://www.lemburg.com/python/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4