Форум сайта python.su
0
Пытаюсь для себя понять, что такое yield from. На данный момент пока понял, что это синтаксический сахар для замены
def generator2(): for i in range(10): yield i def generator3(): for j in range(10, 20): yield j def generator(): for i in generator2(): yield i for j in generator3(): yield j
def generator(): yield from generator2() yield from generator3()
Отредактировано dima2881 (Янв. 29, 2016 14:18:25)
Офлайн
49
Офлайн
0
4kpt_IV
Я читал это, но если честно не до конца понял все там написанное и по этому задаю вопрос тут.
Не понимаю, что подразумевается под делегацией части действий другому генератору.
Офлайн
49
dima2881
Можете объяснить как работает обычный генератор или короутина?
Офлайн
dima2881Я понял тоже самое, но там есть еще один ньюанс с .send() см. видео: https://www.youtube.com/watch?v=o5kfO5Fbhmo
Пытаюсь для себя понять, что такое yield from. На данный момент пока понял, что это синтаксический сахар для замены
Офлайн
49
Xion
Ох и объяснение. Есть презентация Д. Бизли. Там и понятнее и примеры более здравые 
P.S. Я написал автору этот вопрос потому, что если он не может понять как работает простой генератор или короутина, то понять как работает yield from пока не удастся…
Отредактировано 4kpt_IV (Янв. 29, 2016 19:35:12)
Офлайн
0
4kpt_IV
Я понимаю как работает генератор и сопрограмма. В принципе ответ на свой вопрос нашёл на stackoverflow
http://stackoverflow.com/questions/9708902/in-practice-what-are-the-main-uses-for-the-new-yield-from-syntax-in-python-3 там с примерами показано, что делает yield from. Из сухого pep это было сложно понять.
Офлайн