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

Guido van Rossum guido at python.org
Wed Nov 22 14:15:34 EST 2017


On Wed, Nov 22, 2017 at 11:08 AM, Ivan Levkivskyi <levkivskyi at gmail.com>
wrote:

> On 22 November 2017 at 19:54, Jelle Zijlstra <jelle.zijlstra at gmail.com>
> wrote:
>
>>
>> One proposal is to make it so `g` gets assigned a list, and the `yield`
>> happens in the enclosing scope (so the enclosing function would have to be
>> a generator). This was the way things worked in Python 2, I believe.
>>
>> Another proposal is to make this code a syntax error, because it's
>> confusing either way. (For what it's worth, that would be my preference.)
>>
>>
> Concerning this two options it looks like me and Serhiy like the first
> one, Paul is undecided (), and Antoine is in favor of option 2.
>

While that may be the right thing to do, it's a silent change in semantics,
which I find pretty disturbing -- how would people debug such a failure?
That's why I think we should deprecate or hard break it for at least one
release.

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


More information about the Python-Dev mailing list