Как в Python определить функцию, принимающую произвольное количество аргументов?

В Python *args принимает произвольные позиционные аргументы, **kwargs — именованные. Их можно сочетать с обычными параметрами.

Короткий ответ

Что ответить на собеседовании

В Python *args принимает произвольные позиционные аргументы, **kwargs — именованные. Их можно сочетать с обычными параметрами.

Подробный разбор

Ответ с пояснениями

В Python *args принимает произвольные позиционные аргументы, **kwargs — именованные. Их можно сочетать с обычными параметрами.

def describe(label, *args, **kwargs):
    return label, args, kwargs

print(describe('job', 1, 2, retry=3))
# ('job', (1, 2), {'retry': 3})

Внутри функции args — tuple, kwargs — dict. При вызове звёздочки работают наоборот: распаковывают последовательность и mapping. Для устойчивого публичного интерфейса известные параметры лучше объявлять явно, а не прятать всё в kwargs.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее