In article <[EMAIL PROTECTED]>, Paddy <[EMAIL PROTECTED]> wrote: . [substantial thread with many serious alternatives] . . >You can do things with function attributes > >def foo(x): > foo.static += x > return foo.static >foo.static = 0 . . . My favorite variation is this:
def accumulator(x): # On first execution, the attribute is not yet known. # This technique allows use of accumulator() as a # function without the "consumer" having to initialize # it. if not "static" in dir(accumulator): accumulator.static = 0 accumulator.static += x return accumulator.static print accumulator(3) print accumulator(5) -- http://mail.python.org/mailman/listinfo/python-list