Курс Python → Генераторы в Python

Генераторы в Python представляют собой специальный тип функций, которые могут генерировать значения по требованию, вместо того чтобы возвращать их все сразу. Это позволяет существенно экономить память и улучшает производительность программы. Генераторы могут быть использованы для создания итераторов, которые позволяют поочередно обходить элементы последовательности.

Для создания собственного итерабельного класса в Python необходимо определить метод __iter__, который будет возвращать итератор. Однако, вместо того чтобы создавать отдельный класс для итератора, можно воспользоваться генераторами для упрощения этого процесса. Функция-генератор представляет собой обычную функцию, в теле которой используется ключевое слово yield для возврата значений.


class MyIterableClass:
    def __iter__(self):
        for i in range(5):
            yield i

В данном примере класс MyIterableClass является итерабельным благодаря методу __iter__, который использует функцию-генератор для возврата значений от 0 до 4. При обращении к объекту данного класса в цикле for, значения будут генерироваться по мере необходимости.

Таким образом, использование генераторов для создания итераторов и итерабельных классов в Python позволяет упростить и ускорить процесс разработки, а также сделать код более читаемым и эффективным. Благодаря гибкости и удобству генераторов, программисты могут легко создавать итерируемые объекты без необходимости создания отдельных классов итераторов.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Строковое представление объектов
  2. Функция sleep() в Python
  3. Измерение времени выполнения кода
  4. Функции с дополнением
  5. Функции map, filter, reduce
  6. Транспонирование 2D-массива с помощью zip
  7. Функция __init__ в Python
  8. Отделение звука от видео
  9. Метод rsub для пользовательских чисел
  10. Инверсия списка/строки в Python
  11. Списковый компрехеншен.
  12. Декораторы в Python
  13. Python reversed() функция
  14. Компиляция регулярных выражений
  15. Декораторы в Python
  16. Декодирование байтов в строку
  17. Python Менеджер контекста
  18. HTTP-запросы с библиотекой Requests
  19. Метод rename() для переименования файлов и каталогов
  20. Манипуляция формой массива в Numpy
  21. Подсчет элементов в Python
  22. Метод hash в Python
  23. Генераторы списков
  24. Базовые объекты Python
  25. Сортировка и разворот списка
  26. Преобразование строки в число
  27. Делегирование в Python
  28. Функции в Python: создание и вызов
  29. Экспорт данных с помощью writefile
  30. Установка максимального количества цифр
  31. Открытие, чтение и закрытие файла
  32. Библиотека Rich: форматирование текста
  33. Регистрация на TenChat
  34. Получение размера объекта с sys.getsizeof()
  35. Методы __repr__ и __str__ в Python
  36. Функция product() из itertools
  37. Форматирование объектов с модулем pprint
  38. Руководство по использованию Colorama
  39. PrettyTable: создание таблицы
  40. Преобразование списка в словарь через генератор
  41. Блок try-except-else
  42. Проверка подстроки в строке с помощью in
  43. Бесконечная проверка в Python
  44. Работа с CSV файлами
  45. Сохранение и загрузка модели в PyTorch
  46. Многоточие в Python
  47. Работа со строками в Python

Marketello читают маркетологи из крутых компаний