Главная › Лекции › Тимофей Хирьянов (МФТИ) — Алгоритмы на Python 3

Функции, структурное программирование и метод грубой силы в Python

Лекция посвящена функциям Python, их параметрам и вызовам, проектированию программ сверху вниз и простым алгоритмам перебора.

Тимофей Хирьянов⏱ 74 минОткрыть на YouTube ↗
Пройти весь тест — 9 вопросов →

Бесплатно, нужен вход через Google. Готовый тест не тратит часовой лимит.

О чём лекция

Разбираются основы функций в Python: определение и вызов, параметры и аргументы, значения по умолчанию, возврат результата через return и именованные параметры. Показано, что return завершает выполнение функции, а функции могут работать с разными типами данных благодаря утиной типизации. На примере сравнения строк объясняется лексикографический порядок. Также рассматриваются синхронные вызовы, стек вызовов и его роль при возникновении ошибок.

Значительная часть лекции посвящена функциям как инструменту структурного программирования и проектированию сверху вниз. Задача постепенно разбивается на подзадачи, для которых сначала определяют интерфейсы, параметры и результаты, затем создают заглушки и поэтапно реализуют детали. Во второй части вводится метод грубой силы — перебор возможных решений. На его примерах реализуются проверка числа на простоту и факторизация числа; отдельно подчёркиваются важность документирующих строк, понятных имён и комментариев.

Ключевые идеи

Примеры вопросов

В Python имя функции `hello` присвоили другой переменной: `alias = hello`. Что происходит при выполнении этой строки без скобок?

  1. APython автоматически вызывает функцию при присваивании её имени.
  2. BВызывается функция `hello`, а её результат записывается в `alias`.
  3. CИмя функции связывается с переменной `alias`, но вызова функции не происходит.
  4. DСтрока приводит к синтаксической ошибке, потому что после имени функции нужны скобки.
Показать ответ

Верный ответ: C. Без скобок имя функции можно использовать как значение, например присвоить другой переменной; для вызова функции нужны скобки.

В Python функция выводит приветствие с переданным именем. Если имя не указано при вызове, функция всё равно должна работать. Как объявить параметр, чтобы он был необязательным?

  1. AПередавать параметр только при первом вызове функции
  2. BОбъявить параметр после вызова функции
  3. CУдалить параметр из определения функции
  4. DЗадать параметру значение по умолчанию в определении функции
Показать ответ

Верный ответ: D. Значение по умолчанию позволяет вызвать функцию без аргумента для этого параметра; при необходимости его можно передать явно.

Пройти весь тест — 9 вопросов →

Свой тест по любой лекции

Вставьте ссылку на видео — LearnReplay сделает тест на понимание.

Создать тест →