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

  Рет қаралды 4,768

PythonGuru

PythonGuru

Күн бұрын

Что же такое генератор, и что такое итератор. Одно ли это и тоже, и просто названо по разному, или же это совсем разные типы обьектов.
Как создавать, как использовать, какая польза и есть ли она вообще
Все эти вопросы рассмотрены в видео
#python #programming #iterator #generator

Пікірлер: 42
@night_niker
@night_niker Жыл бұрын
Интересное видео! Формат, когда преподаватель разбирается вместе с учеником добавляет жизни в материал! Давненько разбирался с итераторами и генераторами, освежил память, спасибо 😊
@PythonGuru_
@PythonGuru_ Жыл бұрын
👌
@matvey9205
@matvey9205 Жыл бұрын
Спасибо за твои видео ! 1. Они очень информативны и без лишней воды 2. Высокое качество материала и его подачи ❤❤❤
@PythonGuru_
@PythonGuru_ Жыл бұрын
Приятно слышать. Пожалуйста
@parabellum5383
@parabellum5383 Жыл бұрын
Желаю развития каналу! Контент действительно крутой
@PythonGuru_
@PythonGuru_ Жыл бұрын
спасибо
@IT-roivu
@IT-roivu Ай бұрын
Ой, какое клёвое видео! Спасибо огромное, всё очень понятно💛
@PythonGuru_
@PythonGuru_ Ай бұрын
пользуйтесь )
@antonchzhu5708
@antonchzhu5708 Жыл бұрын
Спасибо за ваши уроки!
@PythonGuru_
@PythonGuru_ Жыл бұрын
👌
@leva1672
@leva1672 6 ай бұрын
Чел, ты крут! благодаря тебе все понял
@PythonGuru_
@PythonGuru_ 6 ай бұрын
👍
@bgs12
@bgs12 5 ай бұрын
Отличное объяснение!
@PythonGuru_
@PythonGuru_ 5 ай бұрын
спасибо
@shooter_L-y3g
@shooter_L-y3g Жыл бұрын
спасибо за видео ❤ 😊
@PythonGuru_
@PythonGuru_ Жыл бұрын
👌
@shooter_L-y3g
@shooter_L-y3g Жыл бұрын
@@PythonGuru_ наконец я понял 🤣🐍💕
@nnutipa
@nnutipa Жыл бұрын
Раз уж видео про генераторы, то было бы неплохо осветить порядок работы yield и его отличия от return, в частности, что внутреннее состояние генератора как бы "замораживается" на моменте, когда встретился yield и продолжается с этого места в следующей итерации, а не с начала кода генератора. Хорошо это видно если запускать код генератора, у которого есть операторы после yield в пошаговом дебаге.
@PythonGuru_
@PythonGuru_ Жыл бұрын
забыл это явно указать. Много всего было что сказать, и затерялось эта информация. Хотя много раз говорил, что генератор это хранит.
@myafo
@myafo Жыл бұрын
Делай мало, но качественно, пожалуйста
@PythonGuru_
@PythonGuru_ Жыл бұрын
что в этом плохо?
@НеВадюха
@НеВадюха Жыл бұрын
Могли бы вы рассказать про отличия async def от def? В чем заключаются отличия в работе, что лучше использовать и где применять.
@PythonGuru_
@PythonGuru_ Жыл бұрын
Привет. Могу. Сделаю видео. А если совсем коротко, используя async, мы запускаем функцию в потоке, т. е. не останавливаем скрипт в ожидании, пока данная функция выполнится, чтобы перейти к выполнению следующих написанных команд, а начинаем выполнять данную функцию и продолжаем выполнять скрипт дальше. Когда функция async выполнится, код результат выполнения отловит, если она возвращает его. Главная идея, что мы не блокируем процесс, пока функция не будет выполнена, а спокойно выполняем код дальше, а async функция как - «бы ковыряется» со своими расчетами параллельно выполнению другого кода. Единственное это не параллельно, а в собственном потоке. Это двумя предложениями не объяснить.
@НеВадюха
@НеВадюха Жыл бұрын
@@PythonGuru_ Здорово, буду ждать ролик.
@ibnalvichannel4664
@ibnalvichannel4664 Жыл бұрын
Привет) как давно вы изучаете python? И еще, знаете ли вы какой либо другой язык??
@PythonGuru_
@PythonGuru_ Жыл бұрын
Привет. Больше 3 лет наверно. php, JavaScript, HTML, CSS, MS SQL, postgre, MySQL, Laravel, Codeigniter (php frameforks), React, Vue (js frameworks), React Native (js frameworks для мобильных app).
@waltage
@waltage 8 ай бұрын
видео о программировании в 4к! МОЕ ПОЧТЕНИЕ!
@ТуТа-л8и
@ТуТа-л8и Жыл бұрын
За-ши-бись! Я пошёл за пивом))))
@PythonGuru_
@PythonGuru_ Жыл бұрын
🍺 это отлично
@КоньЛюдоед-ф6ф
@КоньЛюдоед-ф6ф Жыл бұрын
ну да итого какое-то непонятное: генератор это функция, а итератор это класс. Если прям вырвать фразу из контекста то создается представление что next это генератор внутри итератора, но ведь это же не так? и где связь генератора с итератором на практике? почему мы сначала рассмотрели генератор? я правда посмотрел и не понял. не понимаю эту тему и ролик к сожалению не помог) НО всё равно огромное спасибо большое за старания и труды)
@PythonGuru_
@PythonGuru_ Жыл бұрын
Итератор считай , что это обертка над итерируемым объектом, организующая курсор с пошаговым проходом двумя способами, или через for loop, тогда бежим пока не будет остановка, или посредством next, по одному элементу. Оба метода можем миксовать по желанию. Генератор, это функция, генерирующая последовательность элементов, согласно написанной логике внутри функции генератора. Генератор выдает итератор генератора. Т.е мы имеем дело с итератором, который мы представляем как курсор. В итоге итератор ничего не генерит, только позволяет вытаскивать элементы, а генератор именно генерит за шаг, один элемент. А вот для доступа к ним, нужен итератор, считай курсор.
@PythonGuru_
@PythonGuru_ Жыл бұрын
и next это метод для итератор. В случае с итератором, метод next, вернет элемент из текущего расположения курсора и переместит курсор на след. элемент. В случае с генератором, тоже самое, так как для перемещения по сгенерированным элементам, используется итератор.
@КоньЛюдоед-ф6ф
@КоньЛюдоед-ф6ф Жыл бұрын
@@PythonGuru_ "Генератор, это функция, генерирующая последовательность элементов, согласно написанной логике внутри функции генератора." но в вашем примере итератора Iter вы же генерируете(рассчитываете по фукнции что будет в next) но это итератор а не генератор. Вроде на словах что-то есть но на практике непонятно. Пока из ответа (спасибо за ответ) я понял что итератор просто возвращает след. значение а генератор его "генерирует" но это же одно и тоже разве нет? я про текущие примеры из видео
@PythonGuru_
@PythonGuru_ Жыл бұрын
итератор ничего не генерит, он скажем так, организует курсор над итерируемым обьектом, а генератор генерит итерируемый обьект, не сохраняя его, только выдает за 1 шаг, следующий элемент, забывая его на следующем шаге. А итератор помогает генератору выдавать сгенерированный объект. Грубо говоря так
@PythonGuru_
@PythonGuru_ Жыл бұрын
Еще раз, генератор, от глагола генерить, создавать…создает последовательность. В чем преимущество, если можно расписать логику создания требуемой по задаче последовательности, то мы можем создавать ее посредством генератора, не держа ее в памяти, сохраняя память свободной. iter, ничего не создает. Если мы применяем этот метод над существующим итерируемрм обьектом, мы никак не влияем на этот обьект, мы создаем курсор, который помогает нам отслеживать, какие элементы были уже задействованы/взяты/вытащены…но сам обьект, как был в памяти, так и остался. next всего лишь перемещает курсор, как палец в книге в роли указки. А генерато, нам генерит слово за словом, забывая пердыдущее слово, как получили новое
@andregraunt
@andregraunt Жыл бұрын
подскажите please, у меня ни в ps code ни в pycharm нет такого вывода в терминале как тут в уроке, мне нужно что то доустановить? заранее спасибо
@PythonGuru_
@PythonGuru_ Жыл бұрын
поддержка jupiter notebook. Если у вас pycharm, тут посмотрите www.jetbrains.com/help/pycharm/jupyter-notebook-support.html
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 7 МЛН
Итераторы, генераторы и модуль itertools
1:36:25
Computer Science Center
Рет қаралды 20 М.
Python Generators Explained
28:37
Tech With Tim
Рет қаралды 160 М.
Лекция 8. Итераторы (Программирование на Python)
1:26:30
АЛГОРИТМЫ В PYTHON. ЦИКЛ WHILE. РАЗЖЕВАЛ ДО МОЛЕКУЛ.
36:40
ТОП 5 Ошибок в написании функций Python
12:46
Зачем нужны итераторы в Python
1:34:18
ITVDN
Рет қаралды 4,8 М.