Seite 1 von 1

variablen emulieren

Verfasst: Samstag 12. August 2006, 20:41
von murph
hi!
wie kann man es anstellen, variablen zu emulieren?
also nicht wie math.pi, sondern auch, dass man sie selbst setzen kann?
(natürlich, dass das programm diese auch weiterverwendet)
//edit:
weitere anforderung:
sie müsste sich erst beim aufruf definieren xD

Verfasst: Samstag 12. August 2006, 21:02
von HWK
Ich verstehe nicht ganz, was Du meinst. Kannst Du ein Beispiel geben?

Verfasst: Samstag 12. August 2006, 21:42
von murph
sagen wir mal, über eine internetverbindung werden daten ausgetauscht.
nun will der eine eine variable setzen, die an der anderen stelle ankommen soll, dh:
wenn es heißt: print my_var, kein Problem, aber wenn my_var = "etwasanders" eingegebn wird, soll das über die internetverbindung mitgeteilt werden.
sprich: das, was normalerweise der interpreter macht (zwischen setzen und ausgeben unterscheiden), will ich jetzt machen.

Verfasst: Sonntag 13. August 2006, 01:00
von Joghurt

Code: Alles auswählen

class Foo(object):
  def read_bar(self):
    return self._bar
  def set_bar(self, value):
    print "Setze bar auf",value
    self._bar = value
  bar = property(read_bar, set_bar)
  def __init__(self):
    self._bar = 42

a = Foo()
print a.bar
a.bar = 4711
print a.bar
Ansonsten sind __getattr__, __getattribute__ und __setattr__ das Stichwort.

Verfasst: Sonntag 13. August 2006, 07:38
von Michael Schneider
Hi murph,

vielleicht hilft Dir eine wrapper-Klasse weiter? Wenn Du statt von einer Klasse von einem Typ ableiten möchtest (scheint mir so), hilft Dir vielleicht das Python Cookbook weiter: http://aspn.activestate.com/ASPN/Cookbo ... cipe/52295

Grüße,
Michael

Verfasst: Sonntag 13. August 2006, 13:46
von murph
genau so etwas wie joghurt gelierfert hat, brauchte ich!
THX!