Properties: setter und getter gleich?

10/05/2010 - 17:03 von Ole Streicher | Report spam
Hallo,

ist es gefàhrlich, wenn eine get()-Funktion nicht genau das
zurückliefert, was vorher eine set()-Funktion hineinsteckt?

Beispiel:

class Myclass(object):
def _set_x(self, v):
self._x = str(v)

def _get_x(self):
return self._x

x = property(_get_x, _set_x)

Hier würde ein

m = Myclass()
m.x = 1
print m.x + m.x

"11" liefern. Sollte man sowas vermeiden?

Viele Grüße

Ole
 

Lesen sie die antworten

#1 Florian Diesch
10/05/2010 - 19:21 | Warnen spam
Ole Streicher writes:

ist es gefàhrlich, wenn eine get()-Funktion nicht genau das
zurückliefert, was vorher eine set()-Funktion hineinsteckt?

Beispiel:

class Myclass(object):
def _set_x(self, v):
self._x = str(v)

def _get_x(self):
return self._x

x = property(_get_x, _set_x)

Hier würde ein

m = Myclass()
m.x = 1
print m.x + m.x

"11" liefern. Sollte man sowas vermeiden?



Nein, die Konvertierung von Daten ist eine typische Anwendung von Settern.


Florian
GUIs programmieren mit Python und Glade:
<http://www.florian-diesch.de/doc/py...glade/>

Ähnliche fragen