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

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ย. 2024
  • Рассмотрим, что такое функция-генератор, в чем ее особенности и плюсы.
    Любая функция, содержащая ключевое слово 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_...
    ✔️ boosty.to/pyth...
    ✔️ / pythonrussian
    ✔️ t.me/python_ru...
    ✔️ dzen.ru/python...
    ✔️ rutube.ru/chan...
    #Python #PythonRussian #PyCharm

ความคิดเห็น • 28

  • @goodmorning5965
    @goodmorning5965 ปีที่แล้ว

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

  • @user-tv9xp7uf6z
    @user-tv9xp7uf6z 4 หลายเดือนก่อน +1

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

  • @rollangrant8347
    @rollangrant8347 ปีที่แล้ว +2

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

  • @kossestepan
    @kossestepan 10 หลายเดือนก่อน

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

  • @Insidepointg
    @Insidepointg ปีที่แล้ว +5

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

  • @themarineussr2011
    @themarineussr2011 ปีที่แล้ว

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

  • @ДенисЩербинин-ш8у
    @ДенисЩербинин-ш8у ปีที่แล้ว +1

    Спасибо!

  • @РусланДмитриев-ж1ш
    @РусланДмитриев-ж1ш 2 ปีที่แล้ว

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

  • @pavloOps
    @pavloOps 7 หลายเดือนก่อน

  • @IlyaIlya_lopkop
    @IlyaIlya_lopkop 3 ปีที่แล้ว +2

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

    • @PythonRussian
      @PythonRussian  3 ปีที่แล้ว +2

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

    • @IlyaIlya_lopkop
      @IlyaIlya_lopkop 3 ปีที่แล้ว

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

  • @ОлегШколяренко-б5э
    @ОлегШколяренко-б5э 6 หลายเดือนก่อน

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

    • @PythonRussian
      @PythonRussian  6 หลายเดือนก่อน +1

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

    • @ОлегШколяренко-б5э
      @ОлегШколяренко-б5э หลายเดือนก่อน

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

  • @rpuropu
    @rpuropu 3 ปีที่แล้ว

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

    • @justpochta
      @justpochta 9 หลายเดือนก่อน

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

  • @kiryllshynharow9058
    @kiryllshynharow9058 2 ปีที่แล้ว +2

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

  • @zvd1660
    @zvd1660 2 ปีที่แล้ว +2

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

  • @stevem4806
    @stevem4806 ปีที่แล้ว +1

    Спасибо!

  • @y18kotov
    @y18kotov ปีที่แล้ว +1

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

  • @ЕгорСоловец-л1н
    @ЕгорСоловец-л1н 2 ปีที่แล้ว

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

  • @germanborisov1765
    @germanborisov1765 ปีที่แล้ว +1

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

    • @PythonRussian
      @PythonRussian  ปีที่แล้ว +1

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

    • @germanborisov1765
      @germanborisov1765 ปีที่แล้ว +1

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

    • @stevem4806
      @stevem4806 ปีที่แล้ว

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

    • @stevem4806
      @stevem4806 ปีที่แล้ว

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

  • @СергейАргентов
    @СергейАргентов ปีที่แล้ว

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