[EMAIL PROTECTED] a écrit : > Bruno Desthuilliers: >> And this let you share state between functions: >> >> def make_counter(start_at=0, step=1): >> count = [start_at] >> def inc(): >> count[0] += step >> return count[0] >> def reset(): >> count[0] = [start_at] >> return count[0] >> def peek(): >> return count[0] >> >> return inc, reset, peek >> >> foo, bar, baaz = make_counter(42, -1) >> print baaz() >> for x in range(5): >> print foo() >> print bar() >> print baaz() > > An interesting solution, I have never created such grouped clorures.
It's a common idiom in some functional languages. > I > don't know if this solution is better than a class with some class > attributes plus some class methods... It's somewhat equivalent, but in Python, I'd surely use a class instead !-) -- http://mail.python.org/mailman/listinfo/python-list