Что такое `*args` и `**kwargs` и в каком порядке должны идти в сигнатуре функции?
Pythonmediummiddle
Проверяет знание Python и pandas для анализа данных.
argskwargsfunction-signaturepython
Варианты ответа
*args — кортеж позиционных, **kwargs — словарь именованных. Порядок: positional → *args → keyword-only → **kwargs. После *args обычные позиционные нельзя — только keyword
*args — list позиционных, **kwargs — list пар (key, value). Порядок свободный, Python разбирает по типу значения. Главное чтобы был хотя бы один обычный аргумент перед ними
*args — итератор позиционных, **kwargs — generator пар. Порядок: **kwargs всегда первым (для оптимизации hash lookup), потом *args, потом обычные аргументы
Подумай, какая структура данных и какой инструмент pandas решают задачу с наименьшей сложностью: векторизация вместо циклов, groupby/merge вместо ручных склеек, корректная работа с NaN и типами. Интервьюер смотрит на читаемость кода и на то, понимаешь ли ты, что происходит «под капотом» — копия или вью, сложность операции, утечки памяти на больших данных.
На собеседовании по такому вопросу важно не только назвать ответ, но и кратко объяснить, почему он верный.
Тема вопроса — «Python». Чтобы подготовиться к похожим задачам, отрабатывай их на практике: python-тренажёр помогает довести навык до автоматизма, а раздел вопросов — увидеть формулировки, которые реально встречаются на интервью аналитика данных.
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
3000+ вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.