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

Поділитися
Вставка
  • Опубліковано 5 лют 2025
  • Рассмотрим, что такое функция-генератор, в чем ее особенности и плюсы.
    Любая функция, содержащая ключевое слово 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

КОМЕНТАРІ • 32

  • @Insidepointg
    @Insidepointg Рік тому +7

    Мужик, ты очень крутой. Спасибо от души.

  • @goodmorning5965
    @goodmorning5965 Рік тому

    отличный пример сравнения с ленивостью и пинком ! очень наглядно и конструктивно вложилось в голову что и как ! спасибо !

  • @user-tv9xp7uf6z
    @user-tv9xp7uf6z 8 місяців тому +1

    какой ты красавчик!!! очень четко все обьяснил!

  • @СергейАргентов

    отличное объяснение важного свойства генератора!!

  • @kossestepan
    @kossestepan Рік тому

    Автор, спасибо огромное. За видео.

  • @rollangrant8347
    @rollangrant8347 2 роки тому +2

    Очередной раз благодарю 👍😎👍

  • @themarineussr2011
    @themarineussr2011 Рік тому

    учитель от Бога

  • @germanborisov1765
    @germanborisov1765 Рік тому +1

    Большое спасибо за видео! Всё, как всегда, на высоте! Не задумались сделать серию роликов про алгоритмы и структуры данных с примерами использования? Думаю, что новичкам будет полезно посмотреть видео в Вашем исполнении - с подробными объяснениями и практическими примерами!

    • @PythonRussian
      @PythonRussian  Рік тому +1

      идея хорошая, записал себе в список (или тапл?)

    • @germanborisov1765
      @germanborisov1765 Рік тому +1

      @@PythonRussian лучше в тапл, чтобы видео точно вышло)

    • @stevem4806
      @stevem4806 Рік тому

      По алгоритмам и структурам данных лучше было бы заморочиться и платный курс сделать на Степике, там как раз не хватает на эту тему хорошего курса

    • @stevem4806
      @stevem4806 Рік тому

      По алгоритмам и структурам данных лучше было бы заморочиться и платный курс сделать на Степике, там как раз не хватает на эту тему хорошего курса

  • @АдамЕсмирзаев
    @АдамЕсмирзаев Місяць тому

    Жаль, что не нашёл тебя раньше(

  • @zvd1660
    @zvd1660 2 роки тому +2

    Полезное видео, спасибо

  • @y18kotov
    @y18kotov 2 роки тому +1

    Отлично. Благодарю.

  • @ДенисЩербинин-ш8у
    @ДенисЩербинин-ш8у 2 роки тому +1

    Спасибо!

  • @АлексейФролов-ч9ь
    @АлексейФролов-ч9ь 3 місяці тому +1

    Подскажи пожалуйста как ты print вставляешь ? 7:43

    • @PythonRussian
      @PythonRussian  3 місяці тому

      в Пичарме после любого выражения ставишь точку, пишешь print и нажимаешь ентер

    • @АлексейФролов-ч9ь
      @АлексейФролов-ч9ь 3 місяці тому

      @@PythonRussian спасибо) удачи тебе, очень хорошие видео у тебя!

  • @РусланДмитриев-ж1ш
    @РусланДмитриев-ж1ш 2 роки тому +1

    Как пользоваться генераторам в другой функции генератор ?

  • @pavloOps
    @pavloOps 11 місяців тому

  • @ЕгорСоловец-л1н
    @ЕгорСоловец-л1н 3 роки тому

    23:08 Да вообще-то и обычная функция может возвращать и объекты классов, и другие функции.

  • @ОлегШколяренко-б5э
    @ОлегШколяренко-б5э 11 місяців тому

    Не могу понять чем отличается генератор от итератора. Можете пояснить

    • @PythonRussian
      @PythonRussian  11 місяців тому +3

      генератор тоже является итератором, то есть может выдавать значения, разница в том что итератор это простая вещь -пока есть что то внутри -выдаю. генератор, что можно понять из названия, генерирует значения, то есть содержит какую-то логику.

    • @ОлегШколяренко-б5э
      @ОлегШколяренко-б5э 6 місяців тому

      @@PythonRussian Спасибо большое. Не планируете уроки по ДЖАНГО?

  • @IlyaIlya_lopkop
    @IlyaIlya_lopkop 3 роки тому +2

    По сути, генератор - это итератор, так как он одноразовый. Правильно?

    • @PythonRussian
      @PythonRussian  3 роки тому +3

      все верно! Генератор является итератором, он по сути его наследник, добавляющий к методам итератора(next) еще и send, close, throw. Тебе пора сменить ник, все понимаешь верно

    • @IlyaIlya_lopkop
      @IlyaIlya_lopkop 3 роки тому

      @@PythonRussian хахаха, ник надо поменять, это точно

  • @kiryllshynharow9058
    @kiryllshynharow9058 2 роки тому +3

    впервые встречаю не мутное объяснение генератора python

  • @rpuropu
    @rpuropu 3 роки тому +1

    отвал башки!)... ((с)что-то на олдскульном)

    • @justpochta
      @justpochta Рік тому

      Отвал башки это олдсульно?! 😅 капец

  • @stevem4806
    @stevem4806 Рік тому +1

    Спасибо!