📦 Репозиторий занятия 56

Урок 56. Генераторы

Как работать с репозиторием

Идите по карточкам сверху вниз: сначала сформулируйте ожидаемый результат, затем откройте полный файл, проверьте предположение и ответьте на вопрос для самопроверки. Фрагменты не обрезаются.

Маршрут изучения

  1. Предскажите: прочитайте роль файла и сформулируйте ожидаемый результат.
  2. Исследуйте: откройте исходник и найдите перечисленные ключевые понятия.
  3. Измените: поменяйте одно условие или значение и объясните новый результат.
  4. Проверьте: ответьте на вопрос карточки без копирования кода.

Файлы: рекомендуемый порядок

1
MarkdownРазбор концепции

less_29__Generators/theory_01__Generator_vs_Iterator.md

Сначала выделите правило и объясните своими словами, затем проверьте каждый пример.

Разделы: Определение; Но чем они отличаются?; 1. По способу создания

Ключевые понятия: функции, классы и объекты, ветвление, циклы
Проверьте себя: Какое правило из файла вы сможете применить без подсказки?
Открыть полный файл →
2
MarkdownРазбор концепции

less_29__Generators/theory_02__generator_function.md

Сначала выделите правило и объясните своими словами, затем проверьте каждый пример.

Разделы: Генераторная функция; Создание генератор из генераторной функции; Использование генератора

Ключевые понятия: функции, циклы
Проверьте себя: Какое правило из файла вы сможете применить без подсказки?
Открыть полный файл →
3
PythonИсполняемый пример

less_29__Generators/theory_03__gen_vs_gen_function.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 26 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: функции, циклы, импорт модулей, выборка и фильтрация
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
4
PythonИсполняемый пример

less_29__Generators/theory_04__infinite_generator.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Разделы: Генераторная функция; Создание генератора; Запуск генератора

Ключевые понятия: функции, ветвление, циклы
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
5
PythonИсполняемый пример

less_29__Generators/theory_05__close_method.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Разделы: Генераторная функция; Создание генератора; Закрытие генератора с помощью метода close()

Ключевые понятия: функции, ветвление, циклы, обработка ошибок
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
6
MarkdownРазбор концепции

less_29__Generators/theory_06__yield_from.md

Сначала выделите правило и объясните своими словами, затем проверьте каждый пример.

Разделы: Простое (неполное) определение; 0, 1, 2, 3, 4, a, b, c, d, e, 0, 1, 2, 3, 4, A, B, C, D, E,; Полное определение

Ключевые понятия: функции, циклы
Проверьте себя: Какое правило из файла вы сможете применить без подсказки?
Открыть полный файл →
7
MarkdownРазбор концепции

less_29__Generators/theory_07__send_mesthod.md

Сначала выделите правило и объясните своими словами, затем проверьте каждый пример.

Разделы: Запущенный генератор может не только выдавать значения, но и принимать их!

Ключевые понятия: функции
Проверьте себя: Какое правило из файла вы сможете применить без подсказки?
Открыть полный файл →
8
PythonИсполняемый пример

less_29__Generators/theory_08__throw_method.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 26 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: функции, ветвление, обработка ошибок
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
9
MarkdownРазбор концепции

less_29__Generators/theory_09__for__vs__list_comp__vs__next_&_generator.md

Сначала выделите правило и объясните своими словами, затем проверьте каждый пример.

Разделы: Сравним 3 подхода; Вариант 1. Обычный `for` + `return`; Вариант 2. `list comprehension`

Ключевые понятия: функции, ветвление, циклы
Проверьте себя: Какое правило из файла вы сможете применить без подсказки?
Открыть полный файл →