[python] dekorator property

Petr Hlávka petrhlavka na gmail.com
Středa Listopad 8 19:20:15 CET 2006


On 11/8/06, mtip <mtip na atlas.cz> wrote:
> Zdravim.
> jeste se jednou vratim k dekoratorum. Zkousel jsem property pres
> dekorator a nejak se mi nedari. Nevite nekdo v cem je chyba ?
>
> class a:
>     @property
>     def rad():
>         def fget(self):
>             print 'get'
>             return 1
>         def fset(self,val):
>             print 'set',val
>
> x=a()
> print x.rad
>
> a pak neco jako...
> Traceback (most recent call last):
>   File "<input>", line 1, in <module>
> TypeError: rad() takes no arguments (1 given)
>
>

Dobry den,

@property dekorator jde podle me pouzit pouze k definici readonly
attibutu. Aby bylo mozne pomoci dekoratoru definovat i metody fget,
fset, ... je asi potreba pouzit vlastni dekorator viz.

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/410698

(v diskusi jsou i dalsi moznosti).

  S pozdravem Petr Hlavka.


Další informace o konferenci Python