[Python-Dev] What's the status of PEP 505: None-aware operators? (original) (raw)
Random832 random832 at fastmail.com
Thu Nov 30 23:54:39 EST 2017
- Previous message (by thread): [Python-Dev] What's the status of PEP 505: None-aware operators?
- Next message (by thread): [Python-Dev] What's the status of PEP 505: None-aware operators?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, Nov 30, 2017, at 17:26, Greg Ewing wrote:
Eric Fahlgren wrote: > I think you're missing something here, since it seems clear to me that > indeed the arguments are evaluated prior to the function call.
I think the OP may be confusing "evaluating the function" with "calling the function". If the function being called is determined by some computation, that computation may be performed before its arguments are evaluated (and is probably required to be, by the "left to right" rule). But the arguments will always be evaluated before the actual call happens.
Right, but if the function is evaluated before either of those things happen, then it can indeed short-circuit the argument evaluation.
The OP isn't confusing anything; it's Eric who is confused. The quoted paragraph of the PEP clearly and unambiguously claims that the sequence is "arguments -> function -> call", meaning that something happens after the "function" stage [i.e. a None check] cannot short-circuit the "arguments" stage. But in fact the sequence is "function -> arguments -> call".
- Previous message (by thread): [Python-Dev] What's the status of PEP 505: None-aware operators?
- Next message (by thread): [Python-Dev] What's the status of PEP 505: None-aware operators?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]