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

Генераторы (generators) — это мощный инструмент в Python, который позволяет создавать итераторы, способные генерировать значения на лету. Они позволяют экономить память, так как не требуется хранить все значения в памяти сразу. Генераторы могут быть особенно полезны, когда нужно обработать большой объем данных или когда требуется выполнять итерацию только один раз.

Пример использования генератора в Python:


def my_generator(n):
    for i in range(n):
        yield i ** 2

squares = my_generator(5)

for square in squares:
    print(square)

В данном примере мы создаем генератор my_generator, который возвращает квадраты чисел от 0 до n-1. Функция yield используется для возврата следующего элемента генератора, при этом сохраняется состояние функции. Это позволяет продолжить выполнение функции с того же места, где она была приостановлена.

После создания генератора мы используем цикл for для итерации по элементам генератора squares. При каждой итерации получаем следующее значение из генератора, что позволяет нам получить квадраты чисел от 0 до 4. После прохождения всех элементов генератора итерация завершается.

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

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

Автор урока

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

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

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

  1. Встраивание HTML в Jupyter Notebook
  2. Игра «Виселица» на Python
  3. Применение функции map() с лямбда-функциями
  4. Удаление ключей из словаря
  5. Получение локальных переменных в Python
  6. Блок else в обработке исключений
  7. Оформление текста в консоли с TermColor
  8. Умножение строк и списков
  9. ChainMap избыточные ключи
  10. Многострочные комментарии в Python
  11. Python и Юникод: работа с цифрами
  12. Работа с необработанными строками
  13. Анализ текста на русском языке с помощью Pymystem3
  14. Функция с *args.
  15. Измерение времени выполнения кода
  16. Печать комбинаций в Python с Itertools
  17. Роль object и type в Python
  18. Комплексные числа в Python
  19. Кортеж в Python: создание, доступ, изменение
  20. Отладка в командной строке
  21. Анонимные функции в Python
  22. Возведение в квадрат с помощью itertools
  23. Метод ipow для возведения в степень
  24. Модуль inspect
  25. Python union() функция — объединение множеств
  26. Получение имени функции с помощью inspect
  27. Асинхронное программирование с asyncio
  28. Итераторы в Python
  29. Сериализация данных в JSON с помощью json.dumps
  30. Улучшение читаемости кода в Python
  31. Расчет времени выполнения
  32. Получение обратного списка чисел
  33. JSON-esque в Python
  34. Создание .exe файла с pyinstaller
  35. Перевод двоичного кода в целое число
  36. Работа со слайсами
  37. Работа с рекламными данными в Pandas
  38. Извлечение аудио из видео
  39. Python Метод sleep() из time
  40. Аргумент по умолчанию
  41. TON Smart Challenge #2: участие и подготовка
  42. Вывод букв строки в Python
  43. Конвертация коллекций в Python
  44. Работа со словарями в Python
  45. Оптимизация поиска в словарях

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