Рубрики
Без рубрики

Захват || autoflask.sh || и дайте ему вращаться в вашей системе, чтобы быстро запустить проект barebones Hello World в Flask сегодня!

Один из наиболее часто задаваемых вопросов в интервью Python: “У вас есть

Автор оригинала: Kishan S Mehta.

Один из наиболее часто задаваемых вопросов в интервью Python: “Вы работали с генераторами? Как и зачем было его использовать?”

В этом посте мы попытаемся исследовать, что это такое, как и почему они используются?

В принципе, генератор в простых терминах можно рассматривать как функцию, которая возвращает серию результатов вместо одного единственного результата.

Синтаксическое различие между функцией и генератором заключается в том, что генератор использует ключевое слово “yield” вместо ключевого слова “return”.

Генераторы дают нам итератор(то, что мы можем зациклить на forex. список или словарь), чтобы их можно было использовать с циклическими конструкциями, такими как циклы ” for ” и “while”.

Определите генератор.

def generator(number):
  while True: 
    	number += 1 
        yield number 

Разница с функцией:

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

Но в генераторах результаты вычисляются и доступны по мере необходимости по одному за раз.

Здесь следует отметить, что ключевое слово “yield” мы также можем определить наш собственный класс генератора. Это может быть сделано путем реализации __iter__ и __next__ методов класса.

Использование:

По моему мнению, использование генераторов-это то, где мы хотим, чтобы непрерывный поток данных обрабатывался последовательно. чтение содержимого файла, создание длинного потока чисел, таких как простые числа, нечетные/четные числа и т. Д.

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

Пожалуйста, поделитесь, чтобы поддержать, если вам нравится моя работа.