Декомпозиция в python. Как передать параметры в функцию?

Хочу передать в функцию словарь с аргументами.

Например, в javascript можно сделать так:

const dict = {
   a: 1,
   b: 2,
};

function test(incomingDict) {
  const {a, b} = incomingDict;
}

test(dict)

А как в python такое повторить?

Пришло в голову так:

dict = {
    "a": 1,
    "b": 2,
}

def test(incoming_dict):
    a = incoming_dict["a"]
    b = incoming_dict["b"]

test(dict)

Есть идеи? Как "красиво" передавать множество параметров... Больше пяти, скажем.


Ответы (1 шт):

Автор решения: insolor

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

d = {
    "a": 1,
    "b": 2,
}

def test(a, b):
    print(a, b)  # Выведет 1, 2

test(**d)
→ Ссылка