[Python-Dev] Informal educator feedback on PEP 572 (was Re: 2018 Python Language Summit coverage, last part) (original) (raw)

Steven D'Aprano steve at pearwood.info
Sat Jun 30 05:58:47 EDT 2018


On Sat, Jun 30, 2018 at 06:30:56PM +1000, Nick Coghlan wrote:

The significant semantic differences between "{x : 1}" and "{x := 1}" are also rather surprising :)

Significant and obvious differences are good. It's the subtle differences that you don't notice immediately that really hurt:

{x+1} versus {x-1}
x > y versus x < y
x/y versus x//y

alist = [a, b]
alist = (a, b)

Sometimes small differences in punctuation or spelling make a big difference to semantics.

Punctuation Saves Lives!

"Let's eat, grandma!"

"Let's eat grandma!"

Unless you propose to ban all operators and insist on a minimum string distance between all identifiers:

https://docs.python.org/3/library/os.html#os.spawnl

picking out little differences in functionality caused by little differences in code is a game we could play all day.

At least we won't have the "=" versus "==" bug magnet from C, or the "==" versus "===" confusion from Javascript. Compared to that, the in-your-face obvious consequences of {x: 1} versus {x := 1} are pretty harmless.

-- Steve



More information about the Python-Dev mailing list