Seite 1 von 1

Dictionary-Keys zu Bezeichnern

Verfasst: Montag 16. Juli 2012, 16:43
von Malachite
Moin,

ich möchte alle Werte eines Dictionarys Eigenschaften eines Objekts zuweisen, die den gleichen Namen haben wie die Schlüssel des jeweiligen Wertes. Zurzeit habe ich das mit exec() gelöst:

Code: Alles auswählen

class Example:
    def __init__(self, **properties):
        for key, val in properties.items():
            exec('self.%s = %s' % (key, ascii(val)))
Imho ist das aber weder elegant noch lesbar. Geht das besser?

Re: Dictionary-Keys zu Bezeichnern

Verfasst: Montag 16. Juli 2012, 16:53
von deets
Autsch. Da gibt's diverse Moeglichkeiten. Die einfachste ist das hier:

Code: Alles auswählen

class Foo(object):

    def __init__(self, **kwargs):
          self.__dict__.update(kwargs)
Alternativ kannst du auch setattr verwenden.

Als Faustregel gilt: NIEMALS exec benutzen... Es gibt eigentlich immer einen Weg drumrum.