Re: [Python-Dev] assignment expressions: an alternative proposal

2018年4月24日 06:53:52 -0700

On Tue, Apr 24, 2018 at 9:46 AM, Nick Coghlan <[email protected]> wrote:
> On 24 April 2018 at 23:38, Yury Selivanov <[email protected]> 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
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to