Как назначить self.attributes в классе в цикле? - PullRequest
0 голосов
/ 30 августа 2018

У меня есть класс, в котором я считываю json в словарь и хочу назначить в цикле self.variable на основе пар ключ-значение в словаре, как в:

class TestClass:
    def __init__(self, name):
        tables_metadata = json.loads(jsonfilepath)

        self.name = name
        for key, value in tables_metadata.items:
            self.key = value

Как передать значение ключа словаря как self.name_of_the_variable?

Ответы [ 3 ]

0 голосов
/ 30 августа 2018

Вы можете использовать setattr(self, key, value).

Однако, я не знаю ваш вариант использования, но в большинстве случаев, вероятно, лучше просто сохранить фактический dict как атрибут.

0 голосов
/ 30 августа 2018

Вы можете обновить self.__dict__:

self.__dict__.update(tables_metadata)
0 голосов
/ 30 августа 2018

Вы можете использовать setattr :

class TestClass:
    def __init__(self, name):
        tables_metadata = json.loads(jsonfilepath)

        self.name = name
        for key, value in tables_metadata.items:
            setattr(self, key, value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...