[Python-Dev] Informal educator feedback on PEP 572 (was Re: 2018 Python Language Summit coverage, last part)
Steven D'Aprano
steve at pearwood.info
Wed Jun 27 10:04:29 EDT 2018
On Wed, Jun 27, 2018 at 03:41:23PM +0200, Antoine Pitrou wrote:
>
> Why is this discussion talking about comprehensions at all?
> Is there a decent use case for using assignments in comprehensions (as
> opposed to language lawyering or deliberate obfuscation)?
Yes. The *very first* motivating example for this proposal came from a
comprehension.
I think it is both unfortunate and inevitable that the discussion bogged
down in comprehension-hell. Unfortunate because I don't think that the
most compelling use-cases involve comprehensions at all. But inevitable
because *comprehensions are the hard case*, thanks to the (justifiable!)
decision to implement them as implicit hidden functions.
In my opinion, the really two BIG wins for assignment expressions are
while loops and cascades of if... blocks. Tim Peters has also given a
couple of good examples of mathematical code that would benefit strongly
from this feature.
Going back a few months now, they were the examples that tipped me over
from the opinion
"Oh, just re-write the comprehension as a loop"
to the opinion
"You know, I think this feature actually is useful... and
as a bonus, you can keep using the comprehension"
But that requires that we get the comprehension scoping right. Not just
leave it as an unspecified implementation detail.
--
Steve
More information about the Python-Dev
mailing list