Курс 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. Big O оптимизация
  2. Установка библиотек в Python
  3. Цикл for в Python
  4. Однострочники Python
  5. Аннотации типов в Python
  6. Частичное применение функций в Python
  7. Генераторы данных
  8. Профилирование кода
  9. Defaultdict в Python
  10. Изменение IP-адреса в Python
  11. Применение функции к элементам списка
  12. Определение основы слова с showballstemmer
  13. Оператор «is not» в Python
  14. %pinfo: получение информации об объекте
  15. Импорт с альтернативным именем
  16. Работа с deque из collections
  17. Функция с **kwargs в Python
  18. Операции со строками в Python
  19. Именованные срезы в Python
  20. Метод округления чисел
  21. Работа с PosixPath() в Python
  22. Генераторы в Python
  23. Группы исключений в Python
  24. Изменение списка срезами
  25. Работа с переменными в Python
  26. Декоратор Ajax required
  27. Дефолтные параметры в Python
  28. Генерация случайных чисел в Python
  29. Переопределение метода len
  30. Работа с временем в Python
  31. Запуск внешнего кода в Jupyter
  32. Таймер обратного отсчета
  33. Библиотека itertools: объединение списков
  34. Основные операции с библиотекой Numpy
  35. Принципы LSP и ISP в Python
  36. Добавление элемента в список.
  37. Python defaultdict добавление ключа
  38. Удаление пробелов методом translate()
  39. Замена символов в строке
  40. Глубокое копирование объектов
  41. Объединение Python и Shell
  42. Анонимные функции Lambda
  43. Измерение времени выполнения с помощью time
  44. Измерение времени выполнения в Python
  45. Метод rpow в Python
  46. Сглаживание списка
  47. Безопасные SQL-запросы в Python 3.11

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