Пропуски Middle Функции и области видимости обновлено
Сигнатура с / и *
Вопрос
Допишите сигнатуру: path только позиционный, mode обычный, timeout только именованный, а лишние именованные аргументы собираются в extra.
def open_file(path, __(1)__, mode="r", __(2)__, timeout=10, __(3)__):
...
Попробуйте сами
Заполните пропуски по номерам.
1
2
3
Показать ответ и разбор
Коротко
/ отделяет только позиционные параметры, голая начинает только именованные, а extra собирает остальные именованные аргументы в словарь. Если бы нужны были и лишние позиционные, вместо голой написали бы args.
Что в пропусках
1
/
2
*
3
**extra
Разбор
/ отделяет только позиционные параметры, голая * начинает только именованные, а **extra собирает остальные именованные аргументы в словарь. Если бы нужны были и лишние позиционные, вместо голой * написали бы *args.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Где хранятся значения по умолчанию
Следующий вопрос
Функции как объекты первого класса
Термины по теме
Ещё по теме «Функции и области видимости»
- Что такое *args и **kwargs
- Перекрытие встроенных имён
- Как передаются аргументы в функцию Python
- Где хранятся переменные замыкания
- Вызов с *args и **kwargs: разбор сигнатуры
- Композиция функций
- Мемоизация через замыкание
- Повтор вызова с ограничением попыток