Рассмотрим, что такое функция-генератор, в чем ее особенности и плюсы.
Любая функция, содержащая ключевое слово yield является функцией-генератором (независимо от наличия return) и при вызове возвращает объект-генератор.
Важные моменты:
1) ленивый, не выполняется пока не попросить значение
2) одноразовый -при исчерпании кидает StopIteration (в for этого не видно, ибо обрабатывается внутри)
3) после выполнения yield встает на паузу, при этом сохраняет все внутреннее состояние (аргументы, локальные переменные)
4) при повторном запросе (next) продолжает работу с места остановки
Удобен при работе с большими данными, но и в целом может применяться там, где нам нужно получать наборы данных, обрабатывать их.
Ссылки:
#term-generator
#yield
#generator-expressions
#yieldexpr
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #PyCharm #генератор #generators #genexp #yield #функция-генератор
250 views
2095
573
1 week ago 03:08:02 816
2024-11-16 О развитии ДГ в Калининграде
2 weeks ago 00:01:12 2.6K
Портативная электростанция Pecron E500LFP: Компактная мощь для дома и активного отдыха!
2 weeks ago 00:01:27 9
🚥 Видеорегистраторы топ ☑ Видеорегистратор с радар детектором производители
3 weeks ago 00:10:04 136
[TECHNO LIVE] ПЛОХОЙ ЗАПУСК ДВИГАТЕЛЯ НЕИСПРАВНОСТЬ ДАТЧИКА ОХЛАЖДАЮЩЕЙ ЖИДКОСТИ
3 weeks ago 00:07:06 371
Терморазрыв в металлических дверях. Что это, для чего нужен? Дверь с терморазрывом в разрезе
3 weeks ago 00:13:09 256
Россия промышленная: Суперкомпьютер «Сергей Годунов», БРИКС, АГРОСАЛОН 2024, БЕЛАЗ-75304, УАЗ-452