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

  Рет қаралды 8,145

Python Russian

Python Russian

3 жыл бұрын

Рассмотрим, что такое функция-генератор, в чем ее особенности и плюсы.
Любая функция, содержащая ключевое слово yield является функцией-генератором (независимо от наличия return) и при вызове возвращает объект-генератор.
Важные моменты:
1) ленивый, не выполняется пока не попросить значение
2) одноразовый -при исчерпании кидает StopIteration (в for этого не видно, ибо обрабатывается внутри)
3) после выполнения yield встает на паузу, при этом сохраняет все внутреннее состояние (аргументы, локальные переменные)
4) при повторном запросе (next) продолжает работу с места остановки
Удобен при работе с большими данными, но и в целом может применяться там, где нам нужно получать наборы данных, обрабатывать их.
Ссылки:
docs.python.org/3/glossary.ht...
docs.python.org/3/reference/s...
docs.python.org/3/reference/e...
docs.python.org/3/tutorial/cl...
docs.python.org/3/reference/e...
Присоединяйся к помощи каналу, будет интересно)
✔️Бусти boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #PyCharm

Пікірлер: 26
@Insidepointg
@Insidepointg Жыл бұрын
Мужик, ты очень крутой. Спасибо от души.
@goodmorning5965
@goodmorning5965 9 ай бұрын
отличный пример сравнения с ленивостью и пинком ! очень наглядно и конструктивно вложилось в голову что и как ! спасибо !
@user-nq7wi3bc8r
@user-nq7wi3bc8r 8 ай бұрын
отличное объяснение важного свойства генератора!!
@kossestepan
@kossestepan 6 ай бұрын
Автор, спасибо огромное. За видео.
@rollangrant8347
@rollangrant8347 Жыл бұрын
Очередной раз благодарю 👍😎👍
@zvd1660
@zvd1660 Жыл бұрын
Полезное видео, спасибо
@y18kotov
@y18kotov Жыл бұрын
Отлично. Благодарю.
@themarineussr2011
@themarineussr2011 11 ай бұрын
учитель от Бога
@stevem4806
@stevem4806 9 ай бұрын
Спасибо!
@germanborisov1765
@germanborisov1765 Жыл бұрын
Большое спасибо за видео! Всё, как всегда, на высоте! Не задумались сделать серию роликов про алгоритмы и структуры данных с примерами использования? Думаю, что новичкам будет полезно посмотреть видео в Вашем исполнении - с подробными объяснениями и практическими примерами!
@PythonRussian
@PythonRussian Жыл бұрын
идея хорошая, записал себе в список (или тапл?)
@germanborisov1765
@germanborisov1765 Жыл бұрын
@@PythonRussian лучше в тапл, чтобы видео точно вышло)
@stevem4806
@stevem4806 9 ай бұрын
По алгоритмам и структурам данных лучше было бы заморочиться и платный курс сделать на Степике, там как раз не хватает на эту тему хорошего курса
@stevem4806
@stevem4806 9 ай бұрын
По алгоритмам и структурам данных лучше было бы заморочиться и платный курс сделать на Степике, там как раз не хватает на эту тему хорошего курса
@pavloOps
@pavloOps 3 ай бұрын
@user-ct8yh3lm4k
@user-ct8yh3lm4k 2 жыл бұрын
Как пользоваться генераторам в другой функции генератор ?
@user-ev8tr5fh1o
@user-ev8tr5fh1o 2 жыл бұрын
23:08 Да вообще-то и обычная функция может возвращать и объекты классов, и другие функции.
@user-dr2lc4wu6p
@user-dr2lc4wu6p 2 ай бұрын
Не могу понять чем отличается генератор от итератора. Можете пояснить
@PythonRussian
@PythonRussian 2 ай бұрын
генератор тоже является итератором, то есть может выдавать значения, разница в том что итератор это простая вещь -пока есть что то внутри -выдаю. генератор, что можно понять из названия, генерирует значения, то есть содержит какую-то логику.
@IlyaIlya_lopkop
@IlyaIlya_lopkop 3 жыл бұрын
По сути, генератор - это итератор, так как он одноразовый. Правильно?
@PythonRussian
@PythonRussian 3 жыл бұрын
все верно! Генератор является итератором, он по сути его наследник, добавляющий к методам итератора(next) еще и send, close, throw. Тебе пора сменить ник, все понимаешь верно
@IlyaIlya_lopkop
@IlyaIlya_lopkop 3 жыл бұрын
@@PythonRussian хахаха, ник надо поменять, это точно
@kiryllshynharow9058
@kiryllshynharow9058 Жыл бұрын
впервые встречаю не мутное объяснение генератора python
@rpuropu
@rpuropu 3 жыл бұрын
отвал башки!)... ((с)что-то на олдскульном)
@justpochta
@justpochta 5 ай бұрын
Отвал башки это олдсульно?! 😅 капец
@user-fm1mv8fo4h
@user-fm1mv8fo4h Жыл бұрын
Спасибо!
Частые ошибки начинающих питонистов
41:43
Замыкания (Closures) в Python
30:54
Python Russian
Рет қаралды 14 М.
Ну Лилит))) прода в онк: завидные котики
00:51
[柴犬ASMR]曼玉Manyu&小白Bai 毛发护理Spa asmr
01:00
是曼玉不是鳗鱼
Рет қаралды 43 МЛН
Основное оружие питониста: Listcomps и Genexp
52:55
Лямбды. Не такие и страшные
36:37
Python Russian
Рет қаралды 9 М.
Атрибуты класса, classmethod и staticmethod
44:40
Python Russian
Рет қаралды 4,7 М.
Основы Asyncio
53:25
Python Russian
Рет қаралды 10 М.
Список и кортеж
37:46
Python Russian
Рет қаралды 4 М.
Знакомимся с генераторами  в python
6:42
Хитрый питон
Рет қаралды 6 М.
Ну Лилит))) прода в онк: завидные котики
00:51