Ken Schutte schrieb: > Lets say I want an integer class that lets you attach arbitrary > attributes. I can simply do: > > class foo(int): pass > > x = foo(5) > x.text = "okay" > print x, x.text # prints "5 okay" > > So, that's good. But, how can I change the value of x from 5 to > something else, without creating a new instance? > > I suppose I could create a function that creates a new "foo" and copies > its attributes, but is there a more direct way? Is the value "5" stored > in some special attribute I can just directly modify?
You can't do that - the base class is immutable. Subclassing doesn't change that. What you can do of course in to create a class foo that will store its value in an attribute, and overload the arithmetic operators and methods like __int__, __long__ and __float__. Diez -- http://mail.python.org/mailman/listinfo/python-list