[Python-Dev] PEP 572: Assignment Expressions

Sven R. Kunze srkunze at mail.de
Mon Apr 23 16:21:55 EDT 2018


On 23.04.2018 19:24, Chris Angelico wrote:
> On Tue, Apr 24, 2018 at 3:13 AM, Sven R. Kunze <srkunze at mail.de> wrote:
>> diff = x - x_base
>> if diff and gcd(diff, n) > 1:
>>      return gcd(diff, n)
>>
>> # or
>>
>> if (x - x_base) and gcd(x - x_base, n) > 1:
>>      return gcd(x - x_base, n)
>>
>>
>> and have the interpreter handle the optimization, or apply an lru_cache? ;-)
> And then you want to change something, and you have to make an edit in
> two places. Or, worse, you make it in only one of those places, they
> become desynchronized, and nobody can figure out why the program
> occasionally and bizarrely fails.

If you change any of those lines (including ones of my fore-posters) 
without knowing what you're doing, you'd better don't touch them at all.

The SQL folks btw. are pretty okay'ish with this kind of duplication 
because they can resolve it. Surely, Python isn't SQL but sometimes I 
wish Python could handle such things as easily without me having to 
babysit it all the time and using Perl'ish syntax (which := looks like 
to me). We then have :=, = and ==. Sorry, but Python wouldn't fit my 
brain then.


More information about the Python-Dev mailing list