У меня есть простой класс (Python 3.6):
class MyClass:
id: int
a: int
b: int
c: int
Я хочу установить атрибуты класса при создании экземпляра с помощью цикла, что-то вроде:
class MyClass:
def __init__(self, id):
self.id = id
for attr in ['a', 'b', 'c']:
# put something in "self.attr", e.g. something like: self.attr = 1
id: int
a: int
b: int
c: int
Зачем мнехотите сделать это?
список длинный
Я создаю некоторые значений с использованием внешнеговложенный словарь d
, который имеет id
в качестве ключей и {'a': 1, 'b': 2, 'c': 3}
в качестве значения
Так что на самом деле это будет выглядеть так:
class MyClass:
def __init__(self, id, d):
self.id = id
for attr in ['a', 'b', 'c']:
# put d[id][attr] in "self.attr", e.g. something like: self.attr = d[id][attr]
id: int
a: int
b: int
c: int
Добавление атрибутов класса с использованием цикла for в Python является аналогичным вопросом, но не идентичным;Я особенно заинтересован в прохождении по атрибутам при создании экземпляра класса, то есть в конструкторе __init()__
.