[Python-Dev] What's the status of PEP 505: None-aware operators?

MRAB python at mrabarnett.plus.com
Fri Dec 1 16:00:35 EST 2017


On 2017-12-01 13:24, Random832 wrote:
> On Fri, Dec 1, 2017, at 05:31, Steven D'Aprano wrote:
>> I'm more confused than ever. You seem to be arguing that Python 
>> functions CAN short-circuit their arguments and avoid evaluating them. 
>> Is that the case?
> 
>> If this is merely about when the name "function" is looked up, then I 
>> don't see why that's relevant to the PEP.
>> 
>> What am I missing?
> 
> You're completely missing the context of the discussion, which was the
> supposed reason that a *new* function call operator, with the proposed
> syntax function?(args), that would short-circuit (based on the
> 'function' being None) could not be implemented. The whole thing doesn't
> make sense to me anyway, since a new operator could have its own
> sequence different from the existing one if necessary.
> 
The code:

     function?(args)

would be equivalent to:

     None if function is None else function(args)

where 'function' would be evaluated once.

If function is None, the arguments would not be evaluated.


More information about the Python-Dev mailing list