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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4