tharaka wrote:
> You are in luck because Python has "Properties" just like .NET.

> class C(object):
>     def getx(self): return self.__x
>     def setx(self, value): self.__x = value
>     def delx(self): del self.__x
>     x = property(getx, setx, delx, "I'm the 'x' property.")

Just for those that might have tastes like mine; here's the pattern I've 
been using for this (in 2.4, obviously):

class C(object):

     @apply
     def x():
         doc = "I'm the 'x' property."
         def fget(self): return self.__x
         def fset(self, value): self.__x = value
         def fdel(self): del self.__x
     return property(**locals())

You can remove any of fget, fset, fdel, or doc without changing any 
other lines, and there are no "extra" entries in the class's name space.

--
season-to-taste-ly yours,
Benji York
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to