Вопрос №55662 от пользователя Надежда Алёшечкина в уроке «Больше об именованных аргументах», курс «Python: Функции»

Надежда Алёшечкина

Также отметьте, что при подстановке аргументов "разворачивающиеся" наборы аргументов вроде *positional и **named можно указывать вперемешку с аргументами соответствующего типа: *positional с позиционными, а **named — с именованными.

Разве это так? Ведь если перемешать *positional с другими позиционными аргументами, мы получим другой вывод:

>>> f(1, 4, *positional,  kx='a', **named)
(1, 4, (2, 3), 'a', 'b', {'kz': 'c'})
1 0

Aleksei Pirogov

Речь шла о том, что при вызове можно указать arg1, *args, arg2 и это будет синтаксически корректно. А при объявлении функции позиционный аргумент arg2 указать после *args не выйдет.

Вот относительный порядок аргументов при вызове, разумеется, важен! Поэтому аргументы 1, 4, *positional не эквивалентны 1, *positional, 4 - порядок-то разный!

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев