Re:PEP 572: Python assignment expressions has been accepted
by PurpleRamen on Tuesday July 03, 2018 @06:53AM
(#17449096)
or a bit shorter:
You could also just loop:
But this goes a bit beyond the original question.
[ Parent
| on HN ]
Re:PEP 572: Python assignment expressions has been accepted
by cup-of-tea on Tuesday July 03, 2018 @09:25AM
(#17449950)
I made a mistake in the question, it should have been:
if (match := re.match(r1, s)):
o = match.group(1)
# plus some code here
elif (match := re.match(r2, s)):
o = match.group(2)
# plus some other code here
In this case only your first solution works, I think. Leaving aside that having those deeply nested ifs is incredibly ugly, I find it hard to accept that something which completely changes the possible structure of the code is just "syntactic sugar".
Re:PEP 572: Python assignment expressions has been accepted
by PurpleRamen on Tuesday July 03, 2018 @09:59AM
(#17450207)
It's the syntactic sugars job to beautify the ugly. And your example is also a bit unfair, because you also use another syntactic sugar, the elif, to make it more beautyful. It only falls back to the ugly solution because I can't sweeten sugar for a similar dish.
But the overall question is: when is the sugar just syntactical, and at what point does it become a complete new taste?
Re:PEP 572: Python assignment expressions has been accepted
by Demiurge on Tuesday July 03, 2018 @11:58PM
(#17455182)
Why is it incredibly ugly when it actually conveys the explicit logic of that which is happening? Can the logic be simplified? Are there any unnecessary characters? I don't see that. This is why I like Python, it's easy to read, and it is easy to refactor and see how you can improve the logic.