For example, even though I was only lukewarm in support of the walrus operator, I agree it makes a some code constructs more concise and more readable. But it WAS new syntax to do the same thing that was already possible with an extra line or two before.

 It's extra syntax to make a certain coding pattern shorter. I don't believe that's absurd, I just think the balance tips the other way.

It’s a little more than just shorter. There is no way to universally spell “not specified”: None works fine in most cases, but not all. Custom sentinels can be confusing to users, etc.

All that being said, like any other PEP, there are two questions:

1) will this be an improvement?
2) if so, is it worth the churn?

And the SC will need to make those decisions.

FWIW, I’m not totally sure where I come down on (2) myself.


because it may obstruct a much more important general feature is like to have added.

Could someone please flesh out this objection? I can’t see at all why having late bound defaults will obstruct the addition of a general purpose deferred evaluation system.

Except maybe because we could no longer use late bound defaults as a use case for a deferred object. But as Chris A has made clear, a general purpose deferred object isn’t a great fit for this use case anyway.

-CHB 


--
Christopher Barker, PhD (Chris)

Python Language Consulting
  - Teaching
  - Scientific Software Development
  - Desktop GUI and Web Development
  - wxPython, numpy, scipy, Cython