[Python-Dev] assignment expressions: an alternative proposal
Yury Selivanov
yselivanov.ml at gmail.com
Tue Apr 24 09:50:34 EDT 2018
More information about the Python-Dev mailing list
Tue Apr 24 09:50:34 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 9:46 AM, Nick Coghlan <ncoghlan at gmail.com> wrote: > On 24 April 2018 at 23:38, Yury Selivanov <yselivanov.ml at gmail.com> wrote: >> I propose to use the following syntax for assignment expressions: >> >> ( NAME = expr ) >> >> I know that it was proposed before and this idea was rejected, because >> accidentally using '=' in place of '==' is a pain point in >> C/C++/JavaScript. >> >> That said, I believe we can still use this syntax as long as we impose >> the following three restrictions on it: >> >> 1. Only NAME token is allowed as a single target. >> >> 2. Parenthesis are required. >> >> 3. Most importantly: it is *not* allowed to mask names in the current >> local scope. > > While I agree this would be unambiguous to a computer, I think for > most humans it would be experienced as a confusing set of arcane and > arbitrary rules about what "=" means in Python. I respectfully disagree. There are no "arcane and confusing rules" about "=", it's rather simple: "=" is always an assignment. "==" is always an equality check. Having two assignment operators feels way more arcane to me. Especially in Python guided by "there should be one way" Zen. 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