Что такое позиционные и именованные аргументы и важен ли их порядок при объявлении функции?

Позиционные аргументы связываются с параметрами по порядку, именованные — по имени. В Python порядок категорий параметров и расположение значений по умолчанию ограничены синтаксисом.

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

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

Позиционные аргументы связываются с параметрами по порядку, именованные — по имени. В Python порядок категорий параметров и расположение значений по умолчанию ограничены синтаксисом.

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

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

Позиционные аргументы связываются с параметрами по порядку, именованные — по имени. В Python порядок категорий параметров и расположение значений по умолчанию ограничены синтаксисом.

Пример:

def send(user, retries=3, *, urgent=False):
    return user, retries, urgent

send("Anna", urgent=True)

urgent здесь keyword-only. Обычный обязательный позиционный параметр нельзя поставить после параметра с default. Символ / задаёт positional-only, * — границу keyword-only; *args и **kwargs собирают дополнительные аргументы. При обычном вызове позиционные аргументы передают до именованных. Важно различать порядок объявления параметров и порядок передачи значений.

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

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

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

Подробнее