Все об итераторах и генераторах по простому. Python.

Поділитися
Вставка
  • Опубліковано 23 гру 2024

КОМЕНТАРІ • 42

  • @night_niker
    @night_niker Рік тому +4

    Интересное видео! Формат, когда преподаватель разбирается вместе с учеником добавляет жизни в материал! Давненько разбирался с итераторами и генераторами, освежил память, спасибо 😊

  • @matvey9205
    @matvey9205 Рік тому +3

    Спасибо за твои видео !
    1. Они очень информативны и без лишней воды
    2. Высокое качество материала и его подачи
    ❤❤❤

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

      Приятно слышать. Пожалуйста

  • @parabellum5383
    @parabellum5383 Рік тому +3

    Желаю развития каналу! Контент действительно крутой

  • @antonchzhu5708
    @antonchzhu5708 Рік тому +2

    Спасибо за ваши уроки!

  • @IT-roivu
    @IT-roivu 2 місяці тому

    Ой, какое клёвое видео! Спасибо огромное, всё очень понятно💛

    • @PythonGuru_
      @PythonGuru_  2 місяці тому +1

      пользуйтесь )

  • @leva1672
    @leva1672 7 місяців тому +2

    Чел, ты крут! благодаря тебе все понял

  • @bgs12
    @bgs12 6 місяців тому +1

    Отличное объяснение!

  • @shooter_L-y3g
    @shooter_L-y3g Рік тому +1

    спасибо за видео ❤
    😊

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

    Раз уж видео про генераторы, то было бы неплохо осветить порядок работы yield и его отличия от return, в частности, что внутреннее состояние генератора как бы "замораживается" на моменте, когда встретился yield и продолжается с этого места в следующей итерации, а не с начала кода генератора. Хорошо это видно если запускать код генератора, у которого есть операторы после yield в пошаговом дебаге.

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

      забыл это явно указать. Много всего было что сказать, и затерялось эта информация. Хотя много раз говорил, что генератор это хранит.

  • @НеВадюха
    @НеВадюха Рік тому

    Могли бы вы рассказать про отличия async def от def? В чем заключаются отличия в работе, что лучше использовать и где применять.

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

      Привет. Могу. Сделаю видео. А если совсем коротко, используя async, мы запускаем функцию в потоке, т. е. не останавливаем скрипт в ожидании, пока данная функция выполнится, чтобы перейти к выполнению следующих написанных команд, а начинаем выполнять данную функцию и продолжаем выполнять скрипт дальше. Когда функция async выполнится, код результат выполнения отловит, если она возвращает его. Главная идея, что мы не блокируем процесс, пока функция не будет выполнена, а спокойно выполняем код дальше, а async функция как - «бы ковыряется» со своими расчетами параллельно выполнению другого кода. Единственное это не параллельно, а в собственном потоке. Это двумя предложениями не объяснить.

    • @НеВадюха
      @НеВадюха Рік тому

      @@PythonGuru_ Здорово, буду ждать ролик.

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

    Делай мало, но качественно, пожалуйста

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

    Привет) как давно вы изучаете python? И еще, знаете ли вы какой либо другой язык??

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

      Привет. Больше 3 лет наверно.
      php, JavaScript, HTML, CSS, MS SQL, postgre, MySQL, Laravel, Codeigniter (php frameforks), React, Vue (js frameworks), React Native (js frameworks для мобильных app).

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

    подскажите please, у меня ни в ps code ни в pycharm нет такого вывода в терминале как тут в уроке, мне нужно что то доустановить? заранее спасибо

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

      поддержка jupiter notebook. Если у вас pycharm, тут посмотрите www.jetbrains.com/help/pycharm/jupyter-notebook-support.html

  • @ТуТа-л8и
    @ТуТа-л8и Рік тому

    За-ши-бись! Я пошёл за пивом))))

  • @КоньЛюдоед-ф6ф
    @КоньЛюдоед-ф6ф Рік тому

    ну да итого какое-то непонятное: генератор это функция, а итератор это класс. Если прям вырвать фразу из контекста то создается представление что next это генератор внутри итератора, но ведь это же не так? и где связь генератора с итератором на практике? почему мы сначала рассмотрели генератор? я правда посмотрел и не понял. не понимаю эту тему и ролик к сожалению не помог) НО всё равно огромное спасибо большое за старания и труды)

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

      Итератор считай , что это обертка над итерируемым объектом, организующая курсор с пошаговым проходом двумя способами, или через for loop, тогда бежим пока не будет остановка, или посредством next, по одному элементу. Оба метода можем миксовать по желанию.
      Генератор, это функция, генерирующая последовательность элементов, согласно написанной логике внутри функции генератора. Генератор выдает итератор генератора. Т.е мы имеем дело с итератором, который мы представляем как курсор. В итоге итератор ничего не генерит, только позволяет вытаскивать элементы, а генератор именно генерит за шаг, один элемент. А вот для доступа к ним, нужен итератор, считай курсор.

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

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

    • @КоньЛюдоед-ф6ф
      @КоньЛюдоед-ф6ф Рік тому

      @@PythonGuru_ "Генератор, это функция, генерирующая последовательность элементов, согласно написанной логике внутри функции генератора." но в вашем примере итератора Iter вы же генерируете(рассчитываете по фукнции что будет в next) но это итератор а не генератор. Вроде на словах что-то есть но на практике непонятно. Пока из ответа (спасибо за ответ) я понял что итератор просто возвращает след. значение а генератор его "генерирует" но это же одно и тоже разве нет? я про текущие примеры из видео

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

      итератор ничего не генерит, он скажем так, организует курсор над итерируемым обьектом, а генератор генерит итерируемый обьект, не сохраняя его, только выдает за 1 шаг, следующий элемент, забывая его на следующем шаге. А итератор помогает генератору выдавать сгенерированный объект. Грубо говоря так

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

      Еще раз, генератор, от глагола генерить, создавать…создает последовательность. В чем преимущество, если можно расписать логику создания требуемой по задаче последовательности, то мы можем создавать ее посредством генератора, не держа ее в памяти, сохраняя память свободной. iter, ничего не создает. Если мы применяем этот метод над существующим итерируемрм обьектом, мы никак не влияем на этот обьект, мы создаем курсор, который помогает нам отслеживать, какие элементы были уже задействованы/взяты/вытащены…но сам обьект, как был в памяти, так и остался. next всего лишь перемещает курсор, как палец в книге в роли указки. А генерато, нам генерит слово за словом, забывая пердыдущее слово, как получили новое

  • @waltage
    @waltage 9 місяців тому

    видео о программировании в 4к! МОЕ ПОЧТЕНИЕ!