这个重复的片段代码模式更好的pythonic成语

cem*_*ate 4 python design-patterns idioms readability

我发现自己使用这种代码模式很多,每次我都认为可能有更好,更清晰的表达方式:

do_something = True

# Check a lot of stuff / loops
for thing in things:
    ....
    if (thing == 'something'):
        do_something = False
        break

if (do_something):
    # Do something
Run Code Online (Sandbox Code Playgroud)

基本上,"计划做某事,但如果随时随地发现这种特殊情况,就不要这样做"

也许这段代码非常好,但我想知道是否有人有更好的建议.

感谢您的任何意见

Gar*_*tty 9

Python for循环可以有一个else块,如果这些循环没有被破坏,则执行该块:

for thing in things:
    ...
    if (thing == 'something'):
        break
else:
    ... # Do something
Run Code Online (Sandbox Code Playgroud)

此代码的工作方式与您的相同,但不需要标记.我认为这符合您更优雅的标准.

  • 我的意思是我的第一直觉是假设代码被错误地缩进而不是查找它.然而,无知并不是避免正确答案的好理由,+ 1 (2认同)