6 ms·
That's not an accurate summary of assignment expressions. Assignment expressions perform the assignment and also return the value of the assignment. So you can
by Herald_MJ 8y ago
That's not an accurate summary of assignment expressions.
Assignment expressions perform the assignment and also return the value of the assignment. So you can assign and test a conditional at the same time. It's quite an elegant alternative to some quite verbose repetitive code you would otherwise have to write in some scenarios.
- Analemma_ 8y agoI'm sorry, I should have clarified. There was a lot more to the PEP than what I mentioned, it just seemed to me like the loudest and dumbest arguments against it were complaining about the colon and not anything substantive.
- wenc 8y agoAssignment expressions are also found in languages like C#, and have proven to be of great practical value. f-strings was another Python 3 idea that was pre-dated by an implementation in C# [1] ($-interpolation) and it was a popular idea in that language too. I don't want to proffer an opinion on PEP 572 since I haven't followed the discussions, but these things have been "bench-tested" in other languages and not been found wanting, so I do wonder a little bit about the true cause of the controversy. [1] https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated https://docs.microsoft.com/en-us/dotnet/csharp/language-refe...
- Herald_MJ 8y agoYes, I don't really understand the controversy either. I work with Python a lot in my day job, and I am quite frustrated with how slowly the language moves. For a long time, it seemed like the reason was the Python 2-3 switch, but now we don't have that excuse, and things are still slow. Every little decision seems to get immobilised at the PEP stage.