2013-05-11 53 views
4

我發現自己使用此代碼模式頗有幾分,每次這樣,我想時間有可能是表達我自己的一個更好的,更清晰的方式:更好的Python的成語此重複一塊代碼模式

所以基本上,「計劃做某事,但如果這個特殊情況隨時隨地發現,不要這樣做」

也許這段代碼是完全正常的,但我想看看是否有人有更好的建議。

感謝任何輸入

回答

9

的Python for環路可以具有else塊,如果這些環不破出的其上執行:

for thing in things: 
    ... 
    if (thing == 'something'): 
     break 
else: 
    ... # Do something 

此代碼將在相同的方式,你的工作,但不需要標誌。我認爲這符合你的標準,更優雅一些。

+0

+1擊敗我。 – delnan 2013-05-11 17:29:47

+0

以前從未見過......有趣。我想知道如果我的知識缺乏是典型的,這會不會令人困惑? – YXD 2013-05-11 17:30:29

+1

@MrE如果有人以前沒有遇到過,那麼文檔就會很好地解釋它。我沒有看到任何理由避免使用它。它比使用標誌更具可讀性,並且它在Python程序員中非常有名。 – 2013-05-11 17:31:27