[Python-Dev] PEP 572: Assignment Expressions (original) (raw)

Chris Angelico rosuav at gmail.com
Mon Apr 23 13:24:30 EDT 2018


On Tue, Apr 24, 2018 at 3:13 AM, Sven R. Kunze <srkunze at mail.de> wrote:

On 23.04.2018 17:59, Steve Holden wrote:

While Tim's expression might look (superficially) like C, the five-line alternative isn't exactly an inspiring example of Pythonicity, is it? What about diff = x - xbase if diff and gcd(diff, n) > 1: return gcd(diff, n) # or if (x - xbase) and gcd(x - xbase, n) > 1: return gcd(x - xbase, n) and have the interpreter handle the optimization, or apply an lrucache? ;-)

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. Removing duplicate function calls isn't just about run-time performance.

ChrisA



More information about the Python-Dev mailing list