170 похожих чатов

Ребята привет, читаю про асинхронность и понял что в пайтон

она построена на основе генераторов(корутин) так вот она достигается с помощью клиента(вызывающая сторона)—-генератор который использует yield from по сути это await и субгенератор(обычный генератор где используется yield) так вот мы можем реализовать невытесняющую многозадачность отправляя генератору данные методом send и генератор возвращает нам управление по достижению следующего yield
Но я не понял один момент зачем нам генератор с yield from ? он по сути открывает канал между клиентским кодом и субгенератором......мы же можем напрямую с генераторами работать так ведь ?

11 ответов

25 просмотров

и каким же образом ты будешь "работать с генераторами напрямую". вот есть у тебя два генератора, один вызывается из второго

def gen2(): yield 2 def gen1(): yield gen2() def gen1_from(): yield from gen2() print(next(gen1())) print(next(gen1_from()))

Star Lord- Автор вопроса
Alex
и каким же образом ты будешь "работать с генератор...

а почему вызывающая сторона не сможеть напрямую работать конечным генератором ? как я понял генератор с yield from это промежуточное звено

Star Lord- Автор вопроса
Sheeeesh
def gen2(): yield 2 def gen1(): yield gen2() ...

вот тут как я понял yield from просто инициализирует генератор и вызывает его да ?

Star Lord
вот тут как я понял yield from просто инициализиру...

эм... тут yield from это очень условно for item in subgenerator(): yield item

Star Lord
вот тут как я понял yield from просто инициализиру...

yield from сам по себе ничего не "инициализирует" и не "вызывает"

Star Lord- Автор вопроса
Star Lord- Автор вопроса
Alex
эм... тут yield from это очень условно for item i...

ну а если не условно а более подробно ?) есть ли какая нибудь статья где подробно описано это все ?

Star Lord
вот тут как я понял yield from просто инициализиру...

Ну тут yield from иелдит элемент другого генератора наверх

Star Lord- Автор вопроса

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Коллеги, а не могли бы вы подсказать, как происходит оптимизация кода при выполнении кода julia? (Точнее, как управлять уровнем оптимизации, аналогично LLVM/GCC). Потому что...
Илья Гаража
5
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
This automated cryptocurrency trading system uses intelligent algorithms to buy low and sell high on leading crypto exchanges. Many users have already enjoyed significant prof...
Endu Wako
1
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
@kirilltitov можешь, пожалуйста, подсказать, насколько верно утверждение про уход от class к struct для swift 6? Это вот в этом PR
iMike
5
Карта сайта