Что такое `*args` и `**kwargs` и в каком порядке должны идти в сигнатуре функции?
Pythonmediummiddle
Варианты ответа
*args — кортеж позиционных, **kwargs — словарь именованных. Порядок: positional → *args → keyword-only → **kwargs. После *args обычные позиционные нельзя — только keyword
*args — list позиционных, **kwargs — list пар (key, value). Порядок свободный, Python разбирает по типу значения. Главное чтобы был хотя бы один обычный аргумент перед ними
*args — итератор позиционных, **kwargs — generator пар. Порядок: **kwargs всегда первым (для оптимизации hash lookup), потом *args, потом обычные аргументы