Бесплатно, нужен вход через Google. Готовый тест не тратит часовой лимит.
О чём лекция
Разбираются основы функций в Python: определение и вызов, параметры и аргументы, значения по умолчанию, возврат результата через return и именованные параметры. Показано, что return завершает выполнение функции, а функции могут работать с разными типами данных благодаря утиной типизации. На примере сравнения строк объясняется лексикографический порядок. Также рассматриваются синхронные вызовы, стек вызовов и его роль при возникновении ошибок.
Значительная часть лекции посвящена функциям как инструменту структурного программирования и проектированию сверху вниз. Задача постепенно разбивается на подзадачи, для которых сначала определяют интерфейсы, параметры и результаты, затем создают заглушки и поэтапно реализуют детали. Во второй части вводится метод грубой силы — перебор возможных решений. На его примерах реализуются проверка числа на простоту и факторизация числа; отдельно подчёркиваются важность документирующих строк, понятных имён и комментариев.
Ключевые идеи
Функция в Python определяется с помощью def, может иметь параметры и вызывается только при наличии круглых скобок.
Параметрам можно задавать значения по умолчанию, а при вызове передавать аргументы как по позиции, так и по имени.
Инструкция return возвращает результат и немедленно прекращает выполнение функции, что позволяет делать ранний выход.
Благодаря утиной типизации одна функция может работать с любыми объектами, поддерживающими необходимые операции, например сравнение.
Вызов функции по умолчанию выполняется синхронно, а адреса возврата вложенных вызовов хранятся в стеке вызовов.
Структурное программирование использует функции и проектирование сверху вниз, при котором большая задача последовательно разбивается на подзадачи.
Метод грубой силы решает задачу перебором конечного множества возможных ответов с проверкой каждого кандидата.
Метод перебора применяется для проверки простоты числа и его факторизации, а документирующие строки помогают описывать назначение функций.
Примеры вопросов
В Python имя функции `hello` присвоили другой переменной: `alias = hello`. Что происходит при выполнении этой строки без скобок?
APython автоматически вызывает функцию при присваивании её имени.
BВызывается функция `hello`, а её результат записывается в `alias`.
CИмя функции связывается с переменной `alias`, но вызова функции не происходит.
DСтрока приводит к синтаксической ошибке, потому что после имени функции нужны скобки.
Показать ответ
Верный ответ: C. Без скобок имя функции можно использовать как значение, например присвоить другой переменной; для вызова функции нужны скобки.
В Python функция выводит приветствие с переданным именем. Если имя не указано при вызове, функция всё равно должна работать. Как объявить параметр, чтобы он был необязательным?
AПередавать параметр только при первом вызове функции
BОбъявить параметр после вызова функции
CУдалить параметр из определения функции
DЗадать параметру значение по умолчанию в определении функции
Показать ответ
Верный ответ: D. Значение по умолчанию позволяет вызвать функцию без аргумента для этого параметра; при необходимости его можно передать явно.