[Python-ideas] Null coalescing operator
MRAB
python at mrabarnett.plus.com
Wed Nov 2 21:06:12 EDT 2016
On 2016-11-02 21:57, Greg Ewing wrote:
> MRAB wrote:
>> target = expr1 || expr2 || expr3
>> target = expr1 && expr2 && expr3
>>
>> except that only None would be considered falsey?
>>
>> Or would that be confusing?
>
> Yes, I think that borrowing an operator from C but giving
> it subtly different semantics would be *very* confusing,
> especially to people more familiar with C than Python.
> They're going to look at it and *think* they know what it
> means, except they don't.
>
OK, if we're going to have ?. and ?[, then:
target = expr1 ?| expr2 ?| expr3
target = expr1 ?& expr2 ?& expr3
A disadvantage is that they look a little like | and &, which don't
short-circuit.
More information about the Python-ideas
mailing list