Можно ли по словарю инициализоровать переменные класса. Python3.8
📁 словарь, python, пример, ии
Можно ли каким-то образом присвоить каждой переменной класса значения переданные в словаре. К примеру, у класса есть переменные: A, B, C, D -, и я передаю конструктору класса словарь:
dictionary = {'B': 5, 'A': 2, 'C': 45}Конструктор должен обратиться к переменным класса по именам ключей из словаря и задать им эти значение, при этом ключи могут находиться в произвольном порядке.
Пример класса:
class Example: def __init__(self, d: dict): self.A, self.B, self.C = int # тут должен быть код для инициализации переменных переданных в словаре if __name__ == '__main__': dictionary = {'B': 5, 'A': 2, 'C': 45} ex = Example(dictionary) print(ex.B) # Должно вывести: ""5"". Можно через оператор ** разложить значения словарей в аргументы конструктора:
class Foo: def __init__(self, A, B, C): self.A = A self.B = B self.C = Cdictionary = {'B': 5, 'A': 2, 'C': 45}foo = Foo(**dictionary)print(foo.A, foo.B, foo.C)# 2 5 45 Войдите чтобы оставить ответ