[Python-Dev] PEP 492 vs. PEP 3152, new round (original) (raw)

Guido van Rossum guido at python.org
Fri Apr 24 20:08:03 CEST 2015


On Fri, Apr 24, 2015 at 11:03 AM, Ethan Furman <ethan at stoneleaf.us> wrote:

On 04/24, Yury Selivanov wrote: > On 2015-04-24 1:03 PM, Guido van Rossum wrote:

>> Ditto for _aiter_ and _anext_. I guess this means that the async >> equivalent to obtaining an iterator through it = iter(xs) followed by >> for x over it will have to look like ait = await aiter(xs) followed by >> for x over ait, where an iterator is required to have an _aiter_ >> method that's an async function and returns self immediately. But what if >> you left out the await from the first call? I.e. can this work? >> ``` >> ait = aiter(xs) >> async for x in ait: >> print(x) > > With the current semantics that PEP 492 proposes, "await" > for "aiter()" is mandatory. > > You have to write > > ait = await aiter(xs) > async for x in ait: > print(c) As a new user to asyncio and this type of programming in general, 'await aiter' feels terribly redundant.

Yeah, but normally you would never do that. You'd just use async for x in xs. I'm just bickering over the exact expansion of that.

-- --Guido van Rossum (python.org/~guido) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20150424/444af635/attachment.html>



More information about the Python-Dev mailing list