Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #76290
| References | <CAFTm5Ru8nfNt2UtyeBiEh-7Cf5RQZShYV9ha=6HACifCcVUG4w@mail.gmail.com> <CAPTjJmo-0aqxeosa1bM=jtuAdwoZLiiG20kDp7RGvP3Zx65_9w@mail.gmail.com> |
|---|---|
| Date | 2014-08-14 18:59 +0900 |
| Subject | Re: [Q] is 'yield from' syntax sugar for 'for'+'yield'? |
| From | Makoto Kuwata <kwatch@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.12990.1408010368.18130.python-list@python.org> (permalink) |
[Multipart message — attachments visible in raw view] - view raw
On Thu, Aug 14, 2014 at 6:38 PM, Chris Angelico <rosuav@gmail.com> wrote:
> On Thu, Aug 14, 2014 at 7:35 PM, Makoto Kuwata <kwatch@gmail.com> wrote:
> > I understand that::
> >
> > yield from xs
> >
> > is syntax suger of::
> >
> > for x in xs:
> > yield x
>
> Not just. It's like that for simple cases, but there are edge cases
> that are much more complicated to do manually, and are simply taken
> care of. Best would be to read the PEP itself:
>
> http://www.python.org/dev/peps/pep-0380/
>
> ChrisA
>
Thank you. It seems too complicated...
I understand that 'val = yield from xs' is completely different from::
for x in xs:
ret = yield x
val = x
Return value is propagated by StopIteration, like:
it = iter(xs)
try:
while 1:
yield next(it)
except StopIteration as ex:
val = ex.value
Thanks.
--
regards,
kwatch
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
Re: [Q] is 'yield from' syntax sugar for 'for'+'yield'? Makoto Kuwata <kwatch@gmail.com> - 2014-08-14 18:59 +0900 Re: [Q] is 'yield from' syntax sugar for 'for'+'yield'? Marko Rauhamaa <marko@pacujo.net> - 2014-08-14 13:32 +0300
csiph-web