king kikapu wrote: > Hi to all, > > i am trying to use properties in Python and i am sure i have made > something wrong with the below code but i just cannot see what it is. > > Can anyone please help me on this ? > > The code is : > > class Person(object): > age = 0 > > @property > def age(): > def fget(self): > return self.age > def fset(self, value): > self.age = value > > me = Person() > me.age = "34" > print me.age > > > and i am getting the error: > > " File "C:\projects\Python\p2.py", line 12, in <module> > me.age = "34" > AttributeError: can't set attribute " > > What exactly i am doing wrong ??
This will not work. There are some versions of a property decorator flowing around that allow you to do a similar thing, like class Person(object): age = 0 @Property def age(): def fget(self): return self.age def fset(self, value): self.age = value return locals() but here, Property is not the built-in "property" function. It is impossible to use the built-in property function as a decorator to create a property that isn't read-only. Georg -- http://mail.python.org/mailman/listinfo/python-list