Will McGugan wrote:
Hi,

Is there any way of making properties using a decorator? The current way of creating a property seems inelegant.

Something like this imaginary snippit would be nice, IMHO.

class C(object):
    @make_property
    def x(self):
        def getx(self): return self.__x
        def setx(self, value): self.__x = value
        def delx(self): del self.__x


Posted too soon. Played with the above and got something which works.


def make_property( func ): return property( *func() )

class C(object):

    def __init__(self):
        __x= 1

    @make_property
    def x():
        def getx(self): return self.__x
        def setx(self, value): self.__x = value
        def delx(self): del self.__x
        return getx,setx,delx

c= C()
c.x= 5
n= c.x + 5

Good idea, or bad?

Will McGugan
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to