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

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

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

Пікірлер: 27
@user-tv9xp7uf6z
@user-tv9xp7uf6z 4 күн бұрын
какой ты красавчик!!! очень четко все обьяснил!
@Insidepointg
@Insidepointg Жыл бұрын
Мужик, ты очень крутой. Спасибо от души.
@goodmorning5965
@goodmorning5965 9 ай бұрын
отличный пример сравнения с ленивостью и пинком ! очень наглядно и конструктивно вложилось в голову что и как ! спасибо !
@user-nq7wi3bc8r
@user-nq7wi3bc8r 8 ай бұрын
отличное объяснение важного свойства генератора!!
@rollangrant8347
@rollangrant8347 Жыл бұрын
Очередной раз благодарю 👍😎👍
@kossestepan
@kossestepan 6 ай бұрын
Автор, спасибо огромное. За видео.
@zvd1660
@zvd1660 Жыл бұрын
Полезное видео, спасибо
@themarineussr2011
@themarineussr2011 Жыл бұрын
учитель от Бога
@y18kotov
@y18kotov Жыл бұрын
Отлично. Благодарю.
@user-fm1mv8fo4h
@user-fm1mv8fo4h Жыл бұрын
Спасибо!
@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 ай бұрын
Отвал башки это олдсульно?! 😅 капец
@stevem4806
@stevem4806 9 ай бұрын
Спасибо!
Основное оружие питониста: Listcomps и Genexp
52:55
Indian sharing by Secret Vlog #shorts
00:13
Secret Vlog
Рет қаралды 56 МЛН
Первые шаги в ООП: класс, объект, self
1:00:45
Python Russian
Рет қаралды 30 М.
Основы Asyncio
53:25
Python Russian
Рет қаралды 10 М.
Правила хорошей функции в Python
41:58
Python Russian
Рет қаралды 13 М.
Python Decorators in 1 Minute!
1:09
b001
Рет қаралды 493 М.