[Python-ideas] Null coalescing operators

Guido van Rossum guido at python.org
Mon Sep 21 17:40:17 CEST 2015


Just to cut this thread short, I'm going to reject PEP 505, because ? is
just too ugly to add to Python IMO. Sorry.

I commend Mark for his clean write-up, without being distracted, giving
some good use cases. I also like that he focused on a minimal addition to
the language and didn't get distracted by hyper-generalizations.

I also like that he left out f?(...) -- the use case is much weaker;
usually it's the object whose method you're calling that might be None, as
in title?.upper().

Some nits for the PEP:

- I don't think it ever gives the priority for the ?? operator. What would
"a ?? b or c" mean?
- You don't explain why it's x ?? y but x ?= y. I would have expected
either x ? y or x ??= y.
- You don't explain or show how far ?. reaches; I assume x?y.z is
equivalent to None if x is None else x.y.z, so you don't have to write
x?.y?.z just to handle x.y.z if x is None.
- The specification section is empty.

-- 
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20150921/4ac40254/attachment.html>


More information about the Python-ideas mailing list