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

  Рет қаралды 10,122

Python Russian

Python Russian

Күн бұрын

Рассмотрим, что такое функция-генератор, в чем ее особенности и плюсы.
Любая функция, содержащая ключевое слово yield является функцией-генератором (независимо от наличия return) и при вызове возвращает объект-генератор.
Важные моменты:
1) ленивый, не выполняется пока не попросить значение
2) одноразовый -при исчерпании кидает StopIteration (в for этого не видно, ибо обрабатывается внутри)
3) после выполнения yield встает на паузу, при этом сохраняет все внутреннее состояние (аргументы, локальные переменные)
4) при повторном запросе (next) продолжает работу с места остановки
Удобен при работе с большими данными, но и в целом может применяться там, где нам нужно получать наборы данных, обрабатывать их.
Ссылки:
docs.python.or...
docs.python.or...
docs.python.or...
docs.python.or...
docs.python.or...
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти boosty.to/pyth...
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
Смотри там где удобно🤩
✔️ python_...
✔️ rutube.ru/chan...
✔️ dzen.ru/python...
✔️ / pythonrussian
✔️ t.me/python_ru...
#Python #PythonRussian #PyCharm

Пікірлер: 31
@Insidepointg
@Insidepointg Жыл бұрын
Мужик, ты очень крутой. Спасибо от души.
@goodmorning5965
@goodmorning5965 Жыл бұрын
отличный пример сравнения с ленивостью и пинком ! очень наглядно и конструктивно вложилось в голову что и как ! спасибо !
@user-tv9xp7uf6z
@user-tv9xp7uf6z 6 ай бұрын
какой ты красавчик!!! очень четко все обьяснил!
@СергейАргентов
@СергейАргентов Жыл бұрын
отличное объяснение важного свойства генератора!!
@kossestepan
@kossestepan Жыл бұрын
Автор, спасибо огромное. За видео.
@rollangrant8347
@rollangrant8347 2 жыл бұрын
Очередной раз благодарю 👍😎👍
@themarineussr2011
@themarineussr2011 Жыл бұрын
учитель от Бога
@germanborisov1765
@germanborisov1765 Жыл бұрын
Большое спасибо за видео! Всё, как всегда, на высоте! Не задумались сделать серию роликов про алгоритмы и структуры данных с примерами использования? Думаю, что новичкам будет полезно посмотреть видео в Вашем исполнении - с подробными объяснениями и практическими примерами!
@PythonRussian
@PythonRussian Жыл бұрын
идея хорошая, записал себе в список (или тапл?)
@germanborisov1765
@germanborisov1765 Жыл бұрын
@@PythonRussian лучше в тапл, чтобы видео точно вышло)
@stevem4806
@stevem4806 Жыл бұрын
По алгоритмам и структурам данных лучше было бы заморочиться и платный курс сделать на Степике, там как раз не хватает на эту тему хорошего курса
@stevem4806
@stevem4806 Жыл бұрын
По алгоритмам и структурам данных лучше было бы заморочиться и платный курс сделать на Степике, там как раз не хватает на эту тему хорошего курса
@zvd1660
@zvd1660 2 жыл бұрын
Полезное видео, спасибо
@y18kotov
@y18kotov 2 жыл бұрын
Отлично. Благодарю.
@ДенисЩербинин-ш8у
@ДенисЩербинин-ш8у Жыл бұрын
Спасибо!
@АлексейФролов-ч9ь
@АлексейФролов-ч9ь Ай бұрын
Подскажи пожалуйста как ты print вставляешь ? 7:43
@PythonRussian
@PythonRussian Ай бұрын
в Пичарме после любого выражения ставишь точку, пишешь print и нажимаешь ентер
@АлексейФролов-ч9ь
@АлексейФролов-ч9ь Ай бұрын
@@PythonRussian спасибо) удачи тебе, очень хорошие видео у тебя!
@РусланДмитриев-ж1ш
@РусланДмитриев-ж1ш 2 жыл бұрын
Как пользоваться генераторам в другой функции генератор ?
@ЕгорСоловец-л1н
@ЕгорСоловец-л1н 3 жыл бұрын
23:08 Да вообще-то и обычная функция может возвращать и объекты классов, и другие функции.
@ОлегШколяренко-б5э
@ОлегШколяренко-б5э 8 ай бұрын
Не могу понять чем отличается генератор от итератора. Можете пояснить
@PythonRussian
@PythonRussian 8 ай бұрын
генератор тоже является итератором, то есть может выдавать значения, разница в том что итератор это простая вещь -пока есть что то внутри -выдаю. генератор, что можно понять из названия, генерирует значения, то есть содержит какую-то логику.
@ОлегШколяренко-б5э
@ОлегШколяренко-б5э 3 ай бұрын
@@PythonRussian Спасибо большое. Не планируете уроки по ДЖАНГО?
@pavloOps
@pavloOps 9 ай бұрын
@IlyaIlya_lopkop
@IlyaIlya_lopkop 3 жыл бұрын
По сути, генератор - это итератор, так как он одноразовый. Правильно?
@PythonRussian
@PythonRussian 3 жыл бұрын
все верно! Генератор является итератором, он по сути его наследник, добавляющий к методам итератора(next) еще и send, close, throw. Тебе пора сменить ник, все понимаешь верно
@IlyaIlya_lopkop
@IlyaIlya_lopkop 3 жыл бұрын
@@PythonRussian хахаха, ник надо поменять, это точно
@kiryllshynharow9058
@kiryllshynharow9058 2 жыл бұрын
впервые встречаю не мутное объяснение генератора python
@rpuropu
@rpuropu 3 жыл бұрын
отвал башки!)... ((с)что-то на олдскульном)
@justpochta
@justpochta 11 ай бұрын
Отвал башки это олдсульно?! 😅 капец
@stevem4806
@stevem4806 Жыл бұрын
Спасибо!
Long Nails 💅🏻 #shorts
00:50
Mr DegrEE
Рет қаралды 18 МЛН
Lazy days…
00:24
Anwar Jibawi
Рет қаралды 7 МЛН
Миллионер | 3 - серия
36:09
Million Show
Рет қаралды 2,1 МЛН
Лямбды. Не такие и страшные
36:37
Python Russian
Рет қаралды 10 М.
Основное оружие питониста: Listcomps и Genexp
52:55
ХНУРЕ. Java. Функціональний інтерфейс
1:33:29
Игорь Бибичков
Рет қаралды 20
Замыкания (Closures) в Python
30:54
Python Russian
Рет қаралды 16 М.
Частые ошибки начинающих питонистов
41:43
Основы Asyncio
53:25
Python Russian
Рет қаралды 24 М.
Первые шаги в ООП: класс, объект, self
1:00:45
Python Russian
Рет қаралды 35 М.
Multiprocessing: используем все ядра
27:50
Python Russian
Рет қаралды 3,9 М.