[Python-de] Re: dynamische variablen generieren
Marco Aschwanden
PPNTWIMBXFFC at spammotel.com
Mon Sep 27 17:30:36 CEST 2004
Ein anderer Weg um Variable zu "erschaffen". Meiner Meinung nach der
sicherste und wahrscheinlich um einiges schneller als Eval und compile zu
bemühen:
>>> class VarInstance(object):
... def __init__(self, dictWithValues):
... self.__dict = dictWithValues
... def __getattr__(self, wants):
... if self.__dict.has_key(wants):
... return self.__dict[wants]
... else:
... raise NameError
...
>>> dictWithValues = {'var1':'Hi', 'var2':3, 'var4':45}
>>> myVars = VarInstance(dictWithValues)
>>> myVars.var1
'Hi'
>>> myVars.var2
3
>>> myVars.var3
Traceback (most recent call last):
File "<interactive input>", line 1, in ?
File "<interactive input>", line 8, in __getattr__
NameError
>>> myVars.var4
45
>>>
Mit vielen Gruss-Instanzen,
Marco