ZURÜCKGEZOGEN

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Goswin
User
Beiträge: 363
Registriert: Freitag 8. Dezember 2006, 11:47
Wohnort: Ulm-Böfingen
Kontaktdaten:

Wie kann ich in einer Klasse sowohl __init__ als auch __setattr__ definieren, wo doch jedes das andere voraussetzt? Zum Beispiel läuft folgender Phantasiecode natürlich nicht, aber es ist klar, was gemeint ist:

Code: Alles auswählen

#FALSCH:
class Klasse(object):
  def __init__(self,ampel):
    self.ampel = ampel
  def __setattr__(self,name,wert):
    if self.ampel==True: self.__dict__[name] = wert
    else: self.__dict__[name] = -wert

kl = Klasse(ampel=True)
kl.xx = 23
print kl.xx

NACHTRAG: Tut mir leid. ich merke soeben, dass ganz einfach geht mit

Code: Alles auswählen

self.__dict__['ampel'] = ampel
Antworten