[Python-Dev] assignment expressions: an alternative proposal
Yury Selivanov
yselivanov.ml at gmail.com
Tue Apr 24 10:23:50 EDT 2018
More information about the Python-Dev mailing list
Tue Apr 24 10:23:50 EDT 2018
- Previous message (by thread): [Python-Dev] assignment expressions: an alternative proposal
- Next message (by thread): [Python-Dev] assignment expressions: an alternative proposal
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Apr 24, 2018 at 10:07 AM, Nick Coghlan <ncoghlan at gmail.com> wrote: >> "=" is always an assignment. >> "==" is always an equality check. > > That's not the distinction I meant, I meant the difficulty of > explaining the discrepancies in this list: > > a = 1 # Assignment > (a = 1) # Also assignment > > a, b = 1, 2 # Tuple assignment > (a, b = 1, 2) # SyntaxError. Why? > > ... > Whereas if binding expressions use a different symbol, the question is > far less likely to arise, and if it does come up, then the answer is > the same as the one for def statements vs lambda expressions: because > one is a statement, and the other is an expression. A lot of other questions arise though. PEP 572 proposes: a = 1 # assignment a := 1 # also assignment (a := 1) # also assignment (a = 1) # error, why? It's also difficult to explain which one to use when. The net result is that code will be littered with both at random places. That will decrease the readability of Python code at least for some users who have similar taste to myself. With '=' in expressions, the code will look uniform. There will be a simple rule to put parens around assignments in expression and use simple names. After one or two descriptive SyntaxError users will learn how this syntax works (like people learn everything in coding). This all is very subjective. Yury
- Previous message (by thread): [Python-Dev] assignment expressions: an alternative proposal
- Next message (by thread): [Python-Dev] assignment expressions: an alternative proposal
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list