[Python-Dev] Tricky way of of creating a generator via a comprehension expression

MRAB python at mrabarnett.plus.com
Fri Nov 24 22:03:02 EST 2017


On 2017-11-25 02:21, Chris Jerdonek wrote:
> On Fri, Nov 24, 2017 at 5:06 PM, Nathaniel Smith <njs at pobox.com> wrote:
>> On Fri, Nov 24, 2017 at 4:22 PM, Guido van Rossum <guido at python.org> wrote:
>>> The more I hear about this topic, the more I think that `await`, `yield` and
>>> `yield from` should all be banned from occurring in all comprehensions and
>>> generator expressions. That's not much different from disallowing `return`
>>> or `break`.
>>
>> I would say that banning `yield` and `yield from` is like banning
>> `return` and `break`, but banning `await` is like banning function
>> calls.
> 
> I agree. I was going to make the point earlier in the thread that
> using "await" can mostly just be thought of as a delayed function
> call, but it didn't seem at risk of getting banned until Guido's
> comment so I didn't say anything (and there were too many comments
> anyways).
> 
> I think it's in a different category for that reason. It's much easier
> to reason about than, say, "yield" and "yield from".
> 
+1

Seeing "await" there didn't/doesn't confuse me; seeing "yield" or "yield 
from" does.


More information about the Python-Dev mailing list