看板 Python 關於我們 聯絡資訊
pass 很好用,常常可以在不想填東西的時候用這個應付過去。 不過有個情況是這樣的, print("ok") if True else pass 這種寫法就會被編譯器說錯誤。 我常常需要用這種寫法,來避開在一些條件下不要執行這個動作。 像是 print(err_msg) if DEBUG_MODE else pass 有想過改成 print(err_msg) if DEBUG_MODE else print("", end="") 不過這種寫法無法兼容 Python 2 和 Python 3。 請教一下各位大大有沒有好的替代方案? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.17.229 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1513070669.A.FF9.html ※ 編輯: henry8168 (60.248.17.229), 12/12/2017 17:25:23
johnlinvc: print(err_msg) if DEBUG_MODE else None 12/12 17:28
感謝大大,成功了! ※ 編輯: henry8168 (60.248.17.229), 12/12/2017 17:33:39
alan23273850: 原來這就是一行if的寫法阿… 推一個 12/12 18:00
djshen: 包成function不是更方便? 12/12 18:07
djshen: 不然就用logging 12/12 18:09
是啊,我現在其實改用 logging package 了 算是為了之前的我問的吧 XD ※ 編輯: henry8168 (60.248.17.229), 12/12/2017 18:35:58
uranusjr: if DEBUG_MODE: print(errmsg) 不就好了 12/13 05:08
aszx4510: 樓上正解 不需要else的情況寫else幹嘛呢 12/13 17:36
aszx4510: 而且這種語法幾乎各程式語言都有.. 12/13 17:36
goldflower: 因為這樣就不pythonic惹XD 12/13 23:45
uranusjr: 胡說八道, if [exp]: [stmt] 就是標準 Python, 硬在這裡 12/14 12:51
uranusjr: 用 [exp] if [exp] else [exp] 才是莫名其妙, 這兩個語 12/14 12:52
uranusjr: 意根本完全不一樣, 在這裡用後者反而是扭曲原意 12/14 12:52
Sunal: 推估應該是反串XD 12/14 13:12
cphe: 是蠻怪的,而且改用logging也不會有else 12/14 20:04
cphe: 那原本加else是為了? 12/14 20:04
goldflower: XD這原本就是pythonic的寫法啊 你要鞭也鞭情境 12/15 07:27
goldflower: 別森7錯地方 12/15 07:27
alan23273850: 原來if竟然可以不換行阿…… 12/15 08:42
uranusjr: 不是反串欸是認真這麼覺得, 大開眼界ㄎㄎㄎㄎㄎ 12/15 09:23
goldflower: 好喔clike最pythonic 而且我打那句根本也沒認真 結果 12/15 09:56
goldflower: 引來認真魔人我也很難辦 12/15 09:56
怎麼推文吵起來了...。我當初會想在後面接 if 純粹是想每行第一個指令是 print, 整齊一點而已。然後後綴的寫法無法省略 else 吧。 ※ 編輯: henry8168 (219.70.252.12), 12/16/2017 16:54:51
a1234567289: 這怎麼會是pythonic的寫法 在不需要else的地方用else 12/18 19:13
a1234567289: ? 我真的不懂 12/18 19:13
a1234567289: 如果是後綴不能少 else 真的不建議這樣寫 12/18 19:15
goldflower: 感謝中文使用者出現 要認真也認真在情境 01/10 13:24