[Python-ideas] Using `or?` as the null coalescing operator

Nick Coghlan ncoghlan at gmail.com
Tue Sep 29 10:09:50 CEST 2015


On 28 September 2015 at 20:50, Koos Zevenhoven <k7hoven at gmail.com> wrote:
> On Mon, Sep 28, 2015 at 10:13 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> On 25 September 2015 at 09:07, Alessio Bogon <youtux at gmail.com> wrote:
>>> I really like PEP 0505. The only thing that does not convince me is the `??` operator. I would like to know what you think of an alternative like `or?`:
>>>
>>> a_list = some_list or? []
>>> a_dict = some_dict or? {}
>>>
>
> And have the following syntax options been considered?
>
> a_list = some_list else []

In addition to the syntactic ambiguity Ryan notes, there's no hint
here that we're using "some_list is not None" as the condition rather
than "bool(some_list)"

> a_list = some_list or [] if None

This one isn't supportable at the language grammar level - by the time
we get to the "if" token, the parser will have already interpreted the
first part as "some_list or []".

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-ideas mailing list