> One little hole that I don't see an answer to is what happens when > you do this: > > class C(object): > x = 0 > def foo(cls): > cls.x += 1 > foo = classmethod(foo) > > C.foo() As written, you get TypeError: can't set type attributes. If you add __dynamic__ = 1 to the class statement, it works as expected. --Guido van Rossum (home page: http://www.python.org/~guido/)