Hello, I am reading core python python programming and it talks about using the idiom described on http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/205183 .
I'm using python 2.5.1 and if I try : class MyClass(object): def __init__(self): self._foo = "foo" self._bar = "bar" @property def foo(): doc = "property foo's doc string" def fget(self): return self._foo def fset(self, value): self._foo = value def fdel(self): del self._foo return locals() # credit: David Niergarth @property def bar(): doc = "bar is readonly" def fget(self): return self._bar return locals() like suggested in the book (the decorator usage) I get this : >>> a=MyClass() >>> a.foo Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: foo() takes no arguments (1 given) but if I write it just like on the web page (without the decorator, using "x = property(**x())" instead) it works : >>> a = MyClass() >>> a.foo 'foo' does anyone have an idea as of why this is happening? Thanks, Gabriel -- http://mail.python.org/mailman/listinfo/python-list