On 2018-04-11 05:23, Clint Hepner wrote:
I find the assignments make it difficult to pick out what the final expression 
looks like.


I strongly agree with this, and for me I think this is enough to push me to -1 on the whole proposal. For me the classic example case is still the quadratic formula type of thing:

x1, x2 = (-b + sqrt(b**2 - 4*a*c))/2, (-b - sqrt(b**2 - 4*a*c))/2

It just doesn't seem worth it to me to create an expression-level assignment unless it can make things like this not just less verbose but at the same time more readable. I don't consider this more readable:

x1, x2 = (-b + sqrt(D := b**2 - 4*a*c)))/2, (-b - sqrt(D))/2

. . . because having to put the assignment inline creates a visual asymmetry, when for me the entire goal of an expression-level statement is to make the symmetry between such things MORE obvious. I want to be able to write:

x1, x2 = (-b + sqrt(D)))/2, (-b - sqrt(D))/2 ...

. . . where "..." stands for "the part of the expression where I define the variables I'm re-using in multiple places in the expression".

The new proposal does at least have the advantage that it would help with things like this:

while x := some_function_call():
        # do stuff

So maybe I'm -0.5 rather than -1. But it's not just that this proposal "could be used to create ugly code". It's that using it for expression-internal assignments WILL create ugly code, and there's no way to avoid it. I just don't see how this proposal provides any way to make things like the quadratic formula example above MORE readable.

--
Brendan Barnwell
"Do not follow where the path may lead. Go, instead, where there is no path, and leave a trail."
   --author unknown
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to