If I define a function:
def f(x): return x+3
I can later store objects as attributes of the function, like so:
f.thing=\"he
Or use a closure:
def gen_f(): memo = dict() def f(x): try: return memo[x] except KeyError: memo[x] = x + 3 return f f = gen_f() f(123)
Somewhat nicer IMHO