[Python-Dev] (name := expression) doesn't fit the narrative of PEP 20 (original) (raw)
Chris Angelico rosuav at gmail.com
Fri Apr 27 16:08:21 EDT 2018
- Previous message (by thread): [Python-Dev] (name := expression) doesn't fit the narrative of PEP 20
- Next message (by thread): [Python-Dev] (name := expression) doesn't fit the narrative of PEP 20
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, Apr 28, 2018 at 6:06 AM, Wes Turner <wes.turner at gmail.com> wrote:
On Friday, April 27, 2018, Chris Angelico <rosuav at gmail.com> wrote:
On Fri, Apr 27, 2018 at 8:18 PM, Wes Turner <wes.turner at gmail.com> wrote: > IDK, I could just be resistant to change, but this seems like something > that > will decrease readability -- and slow down code review -- without any > real > performance gain. So, while this would be useful for golfed-down (!) > one-liners with pyline, > I'm -1 on PEP 572. PEP 572 has never promised a performance gain, so "without any real performance gain" is hardly a criticism. > How do I step through this simple example with a debugger? > > if re.search(pat, text) as match: > print("Found:", match.group(0)) Step the 'if' statement. It will call re.search() and stash the result in 'match'. Then the cursor would be put either on the 'print' (if the RE matched) or on the next executable line (if it didn't). Right. Pdb doesn't step through the AST branches of a line, so ternary expressions and list comprehensions and defining variables at the end of the line are 'debugged' after they're done. Similarly, code coverage is line-based; so those expressions may appear to be covered but are not.
I'm not sure I follow. In what situation would some code appear to be covered when it isn't, due to an assignment expression?
ChrisA
- Previous message (by thread): [Python-Dev] (name := expression) doesn't fit the narrative of PEP 20
- Next message (by thread): [Python-Dev] (name := expression) doesn't fit the narrative of PEP 20
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]