Comment Comment by moonchild Looks like classes can't be closures, though: >>> def f(): ... x = 5 ... class Blub: ... def incx(self): ... x += 1 ... def getx(self): ... return x ... return Blub() ... >>> j = f() >>> j.incx() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 5, in incx UnboundLocalError: local variable 'x' referenced before assignment parent moonchild 6 years ago