Richard Jones a écrit : > Bruno Desthuilliers wrote: > >>class A(object): >> @apply >> def a(): >> def fget(self): >> return self._a >> def fset(self, val): >> self._a = val >> return property(**locals()) >> def __init__(self): >> self.a = "foo" > > > That property setup seems overly complicated. As far as I can see, it only > avoids defining the setter in the class namespace,
Yes. That's mosly the point. > yet is more complicated > and obfuscated to boot ;) Well, that's your POV, so what can I say ? It's indeed a bit hackish, and requires a couple minutes of attention the first time you see it. And you just have to learn it once !-) Now I'd certainly prefer something like: class A(object): @propget def a(self): return self._a @propset def a(self, val): self._a = val But until there's something similar *builtin*, I'll stick to the @apply trick. -- http://mail.python.org/mailman/listinfo/python-list