[Python-de] getter/setter für python Klassen?

Bastian Venthur venthur at debian.org
Mi Jul 18 10:04:53 UTC 2007


Hi Liste,

ich hab irgendwo mal was über getter/setter für Python-Klassen gelesen.
Irgendwie konnte man

	instanz.variable = "foo"

machen und intern wurde aber eine Setterfunktion aufgerufen. Sowas
könnte ich jetzt gut gebrauchen. Weis jemand wie das nochmal ging, bzw.
wo ich das nachlesen kann? Ich glaube es hatte irgendwas mit Decorators
zu tun, mit denen hab ich aber bisher noch nie gearbeitet.

Falls es jemanden interessiert warum ich das brauche: Ich hab eine
Klasse mit einer __str__-Funktion von der ich annehme das sie recht
teuer ist, da sie einen formatierten String zurück gibt in denen fast
jede Klassenvariable einmal vorkommt. Diese Funktion wird extrem häufig
aufgerufen und da habe ich mir überlegt, dass es einfacher ist den
String einmal zu generieren und dann zwischenzuspeichern um ihn direkt
zurückzugeben anstatt ihn jedes mal zu generieren. Da der String stets
aktuell sein muss, müsste er bei jeder Änderung einer Klassenvariable
neu generiert werden.


Schöne Grüße,

Bastian

-- 
Bastian Venthur                                      http://venthur.de
Debian Developer                                 venthur at debian org