hello!
i started to write a game in python in which i want to implement
"dynamically attachable" attributes.
my intention is to generalise this and moreover these attributes can be
complex, so i'm creating classes to represent these attributes. but
somehow i cannot instantiate these attribute classes well...
here is the simple outline of my code:
class Attr(object):
name = ""
value = ""
def __init__(self, name, value):
self.name = name
self.value = value
# this is just an example, in the real game attrs. are more complex!
class TxtAttr(Attr):
name = "text"
def __init__(self, value):
self.value = value
class Thing(object):
props = {}
def __init__(self):
self.props["text"] = TxtAttr("something important")
t1 = Thing()
t2 = Thing()
t2.props["text"].value = "another string"
print "t1: %s\nt2: %s" % (t1.props["text"].value,
t2.props["text"].value)
the above code outputs:
t1: another string
t2: another string
so the problem i cannot get through is that both t1 and t2 have the
same attr class instance.
could somebody please explain me why? :)
--
http://mail.python.org/mailman/listinfo/python-list