Назначение значений атрибутов из словаря - PullRequest
0 голосов
/ 04 августа 2011

У меня большой словарь. Я хотел бы назначить каждую пару ключ-значение для атрибута класса. В настоящее время у меня есть что-то вроде фрагмента ниже. Это работает, однако это не красиво. Есть лучший способ сделать это?

Фрагмент псевдо-питона:

config = A large dictionary

self.Width  = config['width']
self.Height = config['height']
self.Text   = config['text']
self.Font   = config['font']
etc...

Ответы [ 2 ]

5 голосов
/ 04 августа 2011

Довольно просто:

for key, value in config.iteritems():
    # Customize key here, for example transform 'text_height' to 'TextHeight' or 
    # use 'key.title()' to obtain titlecased keys...
    setattr(self, key, value)

Возможно, вы захотите сделать key.title(), но атрибуты экземпляра предлагаются в Python как строчные.

2 голосов
/ 04 августа 2011

если вас не волнует заглавная буква, вы можете просто сделать:

self.__dict__.update(config)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...