Avatar ·

Можно ли по словарю инициализоровать переменные класса. 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"".
Avatar ·

Можно через оператор ** разложить значения словарей в аргументы конструктора:

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

Войдите чтобы оставить ответ

Блоги