On Wed, May 23, 2018 at 12:32:36AM +0300, Kirill Balunov wrote: > Just one more variation on "assignment exression" syntax to make the list > more complete :) Sorry, if something similar has already been suggested. > The idea is to use function's call-like syntax in the from: `this( name = > expr )`. [...] > In this way it is somewhat possible to make an assignment in `while` and `if > ` headers right now, which covers 90% cases, but it is damn slow. Maybe be > it is worth to make `this` magic call-alike object work fast...on the other > hand does anyone like `this`?
Apart from needing extra typing, what does the function-call syntax gain us? It looks like a function you could call from anywhere, but you want to limit it to just "while" and "if", I expect that will just give us a flood of questions on Stackoverflow and other forums, "why can't I use this() outside of if and while loops?" A good question. Why shouldn't we use assignment outside of if and while? Since this is special syntax, not a function, the parens don't give us any benefit: this name = expression The word "this" seems inappropriate. Surely "let" or "set" would be better: let name = expression which at least has the benefit of matching syntax chosen in other languages. But if the only reason we include "let" is to avoid the equals/assignment error, that seems needlessly verbose. We can say the same thing more compactly: name := expression The difference between "let name = expression" and "name := expression" is just spelling. -- Steve _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/