[Python-Dev] RFC: readproperty
Phillip J. Eby
pje at telecommunity.com
Thu Sep 29 01:14:46 CEST 2005
At 06:23 PM 9/28/2005 -0400, Barry Warsaw wrote:
>I /must/ be missing something. Why not just use property as a
>decorator?
>
>class C:
> @property
> def eggs(self):
> print 'in eggs'
> self.eggs = 7
> return self.eggs
>
> >>> c = C()
> >>> c.eggs
>in eggs
>7
> >>> c.eggs
>7
Because it only works in classic classes due to a bug in descriptor handling:
>>> class C(object):
@property
def eggs(self):
print 'in eggs'
self.eggs = 7
return self.eggs
>>> c=C()
>>> c.eggs
in eggs
Traceback (most recent call last):
File "<pyshell#12>", line 1, in -toplevel-
c.eggs
File "<pyshell#10>", line 4, in eggs
self.eggs = 7
AttributeError: can't set attribute
More information about the Python-Dev
mailing list