Простая функция-генератор. Для чего нужен yield

 

Рассмотрим, что такое функция-генератор, в чем ее особенности и плюсы. Любая функция, содержащая ключевое слово yield является функцией-генератором (независимо от наличия return) и при вызове возвращает объект-генератор. Важные моменты: 1) ленивый, не выполняется пока не попросить значение 2) одноразовый -при исчерпании кидает StopIteration (в for этого не видно, ибо обрабатывается внутри) 3) после выполнения yield встает на паузу, при этом сохраняет все внутреннее состояние (аргументы, локальные переменные) 4) при повторном запросе (next) продолжает работу с места остановки Удобен при работе с большими данными, но и в целом может применяться там, где нам нужно получать наборы данных, обрабатывать их. Ссылки:




Присоединяйся к помощи каналу, будет интересно) Бусти
Юмани 410011506612886 Будь первым везде и всегда, включай уведомления о новых выпусках #Python #PythonRussian #PyCharm