Вопрос №55662 от пользователя Надежда Алёшечкина в уроке «Больше об именованных аргументах», курс «Python: Функции»
Также отметьте, что при подстановке аргументов "разворачивающиеся" наборы аргументов вроде *positional и **named можно указывать вперемешку с аргументами соответствующего типа: *positional с позиционными, а **named — с именованными.
Разве это так? Ведь если перемешать *positional с другими позиционными аргументами, мы получим другой вывод:
>>> f(1, 4, *positional, kx='a', **named)
(1, 4, (2, 3), 'a', 'b', {'kz': 'c'})
Речь шла о том, что при вызове можно указать arg1, *args, arg2
и это будет синтаксически корректно. А при объявлении функции позиционный аргумент arg2
указать после *args
не выйдет.
Вот относительный порядок аргументов при вызове, разумеется, важен! Поэтому аргументы 1, 4, *positional
не эквивалентны 1, *positional, 4
- порядок-то разный!
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







