Creating properties with decorator like syntax
Will McGugan
news at NOwillmcguganSPAM.com
Thu Feb 17 12:13:11 EST 2005
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
More information about the Python-list
mailing list