#54. Выражения генераторы | Python для начинающих

Поділитися
Вставка
  • Опубліковано 17 жов 2021
  • Обучающий курс: stepik.org/course/100707
    Узнаете как задавать генераторы в языке Python и перебирать его элементы. Особенности работы с генераторами.
    Telegram-канал: t.me/python_selfedu

КОМЕНТАРІ • 38

  • @user-dr7rr2qk3o
    @user-dr7rr2qk3o 2 роки тому +38

    Святой человек!!! По всем плейлистам во всем ютубе лучшие видео! Если всё посмотреть и усвоить - можно стать ого-го. Очень помогает в работе. То одно нужно, то другое - сразу сюда! Даже нет минусов..только объем материала) - Спокойно, культурно, подробно, последовательно, структурировано. Так держать! Здоровья и удачи!

  • @donfedor007
    @donfedor007 2 роки тому +14

    Урааа! Утро начинается хорошо когда есть новый видос, на Вашем канале!!!!!

  • @user-br7hg4by2j
    @user-br7hg4by2j 2 роки тому +5

    Очень полезный урок, как и весь курс! Ваша работоспособность и результат впечатляют! Большое спасибо!

  • @vladimirkulakov6126
    @vladimirkulakov6126 2 роки тому +4

    Ну вот и до генераторов- выражений дошли) Спасибо Сергей!

  • @andredru4278
    @andredru4278 4 місяці тому +1

    Спасибо. Все понятно

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

    Лучшее видео по всем темам!! Лучший автор!! Спасибо!!

  • @sergeykarandeev4303
    @sergeykarandeev4303 2 роки тому +4

    Спасибо, всегда рад новому видео!!!

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

    Очень интересно...Много нового и полезного. Спасибо!

  • @user-qj6tk5fw9p
    @user-qj6tk5fw9p Рік тому +2

    очередное большое спасибо)

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

    спасибо!👍

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

    спасибо

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

    11:12 "Генераторов кортежей не существует". Все-таки можно сгенерировать кортеж, но не при помощи скобок ,а с помощью имени типа. Например,
    tuple(x**2 for x in range(5))
    создаст кортеж. Аналогично, можно создать список, словарь и множество из генератора не при помощи формы скобок, а при помощи имени типа:
    list(x**2 for x in range(5)) # список
    set(x**2 for x in range(5)) # множество
    dict((x,x**2) for x in range(5)) # словарь

    • @selfedu_rus
      @selfedu_rus  Рік тому +5

      это все же будет не генератор кортежей как таковой, а генератор + функция tuple, которая формирует кортеж с помощью генератора

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

    👍👍👍👍👍

  • @ibrahimoglu
    @ibrahimoglu 2 роки тому +4

    👍

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

    Если генератор передаем в такую функцию, как max,min, sum, tuple, list, set или им подобные, то скобки не обязательно удваивать. Т.е. можно записать,например,
    sum(x**2 for x in range(5)) вместо sum((x**2 for x in range(5))).

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

      не только "не обязательно", но и, если верить chatgpt, не желательно:

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

    Спасибо!

  • @D3NRuDi
    @D3NRuDi 2 роки тому +5

    Хотелось бы для себя уяснить одну вещь касательно итераторов и генераторов - что первый, что второй не хранит значения в памяти? Потому что, читая в интернете статьи, непонятно касательно самих итераторов - одни говорят что хранит в памяти значения, другие говорят что нет. С генератором понятно - создаётся либо с помощью скобок "()" либо оператора yield и не хранит значения в памяти. Как тогда создаётся итератор обычным синтаксическим сахаром python? Или он создаётся только с помощью itertools? Как я понял из статей про итератор - это же по сути обычный магический метод iter, который может быть присущим к примеру списку, который хранится в свою очередь в памяти (вот это и хотел бы узнать) и поддерживает метод next? То есть применяя цикл for к итератору - мы храним данные в памяти, или исчерпываем себя, как генератор?

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

      почти все верно, только итератор к хранению вообще не имеет никакого отношения - это интерфейс перебора значения генератора не более того

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

      есть генератор, итератор и итерируемый объект. Итератор перебирает итерируемый объект.
      Например
      обычный список [0, 1, 2, 3] - это итерируемый объект, будет хранится в памяти.
      Итератор - это цикл for.
      генератор (ф-я range) - может создавать итерируемый объект, который не будет хранится в памяти.

  • @span4ev
    @span4ev 3 місяці тому +1

    хм, решил потестить
    lst = [x for x in range(1000000000)]
    комп повис, пришлось с кнопки перезагружать. Ошибки memory error не было. 16 гигов мало

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

    В случае sum((i ** 2 for i in range(10))) лучше писать sum(i ** 2 for i in range(10)) ПО времени не проверял но результат тот же

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

      так это же одно и то же )

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

      @@selfedu_rus количество скобок разное)

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

    сколько всего видео в данном курсе вы планируете?

  • @luckytima2315
    @luckytima2315 2 роки тому +5

    Скажите пожалуйста, а по ООП уроки будут ?)

    • @selfedu_rus
      @selfedu_rus  2 роки тому +4

      да, делаю, скоро обновлю

    • @user-gf7fr8qw2e
      @user-gf7fr8qw2e 2 роки тому +3

      @@selfedu_rus Это крутая новость, Если честно сказать праздник и сказка

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

      @@selfedu_rus ооп будет в этом курсе или создадите новый курс?

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

      @@andreychernykh256 будет отдельный

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

    А где взять практические задания?

    • @selfedu_rus
      @selfedu_rus  2 роки тому +4

      Ссылка под видео

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

      @@selfedu_rus Спасибо, уже на сайте не увидел сразу ссылку перехода на задания после видео.

  • @tigrangasparyan8008
    @tigrangasparyan8008 4 місяці тому +1

    Есть ли способ повторно запустить генератор?

    • @selfedu_rus
      @selfedu_rus  4 місяці тому +1

      заново его инициализировать (функция iter)

  • @user-wp9os7ce9l
    @user-wp9os7ce9l 2 роки тому +2

    👍🏿👍🏿