On Fri, 16 Dec 2011 00:52:11 -0800, Ulrich wrote: > Good morning, > > I wonder if someone could please help me out with the @property function > as illustrated in the following example. > > class te(): > def __init__(self): > self.a = 23 > @property > def b(self): > return 2 * self.a [...] > Could anyone please explain me why this does not work / how to get b > into .__dict__ / hint me to an explanation?
b is a property object. Like any other assignment inside the body of the class, it is shared across all instances, so you won't find it in the instance's personal dict. You will find it in the shared class dict. t.__dict__['b'] # not found te.__dict__['b'] # will return the property object (By the way: it is the usual convention to start the name of a class with initial capital, so Te would be a better name.) To get something into the instance dict, you need to assign it onto the instance: t.x = 42 # puts 'x':42 into t.__dict__ -- Steven -- http://mail.python.org/mailman/listinfo/python-list