On Thu, 18 Jan 2007 03:58:22 -0800, 0k- wrote: > hello! > > i started to write a game in python in which i want to implement > "dynamically attachable" attributes.
All attributes in Python are dynamically attachable. >>> class Parrot: ... pass ... >>> p = Parrot() >>> hasattr(p, "plumage") False >>> p.plumage = "beautiful red" >>> p.plumage 'beautiful red' [snip] > class Thing(object): > props = {} > def __init__(self): > self.props["text"] = TxtAttr("something important") > > t1 = Thing() > t2 = Thing() > > t2.props["text"].value = "another string" Have you considered a simpler class like this? class Thing(object): def __init__(self, value="something important"): self.text = TxtAttr(value) t2 = Thing("another string") Then, instead of writing t2.props["text"].value (four lookups) you would just write t2.text (two lookups). -- Steve. -- http://mail.python.org/mailman/listinfo/python-list