__set__() aus __init__() heraus funktioniert nicht
Verfasst: Sonntag 16. August 2009, 22:26
Moin,
Ich hab ne kleine Klasse gebaut, die nur bestimmte Werte annehmen soll:
Wenn man von außen setzen will, funktioniert das auch prima:
wenn ich das jetzt aber versuche mit dem zweiten parameter zu initialisiern, klappt das nicht:
was mache ich falsch? oder ist das etwa ein Bug?[/code]
danke schonmal, und grüße, Ari
Ich hab ne kleine Klasse gebaut, die nur bestimmte Werte annehmen soll:
Code: Alles auswählen
class choice(object):
def __init__(self,possibilities,setting=None):
try: possibilities.__contains__(1)
except AttributeError:
raise TypeError, "not list,tuple or similar"
self.poss = possibilities
self.__set__(setting)
def __set__(self, setting):
if setting not in self.poss and setting != None:
raise KeyError, "Aimed Setting not in Possibilities"
else: self.setting = setting
def __get__(self):
return self.setting
Code: Alles auswählen
foo = choice(("bar","baz",))
>>> foo = "bar"
>>> foo
'bar'
Code: Alles auswählen
>>> foo = choice(("bar","baz",),"baz")
>>> foo
<struct.choice object at 0xb7deb22c>
danke schonmal, und grüße, Ari