[问题] pass 这指令有替代方案吗?

楼主: henry8168 (番薯猴)   2017-12-12 17:24:26
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。
请教一下各位大大有没有好的替代方案?
作者: johnlinvc (阿翔)   2017-12-12 17:28:00
print(err_msg) if DEBUG_MODE else None
作者: alan23273850   2017-12-12 18:00:00
原来这就是一行if的写法阿… 推一个
作者: djshen (djshen)   2017-12-12 18:07:00
包成function不是更方便?不然就用logging
作者: uranusjr (←這人是超級笨蛋)   2017-12-13 05:08:00
if DEBUG_MODE: print(errmsg) 不就好了
作者: aszx4510 (wind)   2017-12-13 17:36:00
楼上正解 不需要else的情况写else干嘛呢而且这种语法几乎各程式语言都有..
作者: goldflower (金色小黄花)   2017-12-13 23:45:00
因为这样就不pythonic惹XD
作者: uranusjr (←這人是超級笨蛋)   2017-12-14 12:51:00
胡说八道, if [exp]: [stmt] 就是标准 Python, 硬在这里用 [exp] if [exp] else [exp] 才是莫名其妙, 这两个语意根本完全不一样, 在这里用后者反而是扭曲原意
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2017-12-14 13:12:00
推估应该是反串XD
作者: cphe (魔鬼藏在垃圾筒里)   2017-12-14 20:04:00
是蛮怪的,而且改用logging也不会有else那原本加else是为了?
作者: goldflower (金色小黄花)   2017-12-15 07:27:00
XD这原本就是pythonic的写法啊 你要鞭也鞭情境别森7错地方
作者: alan23273850   2017-12-15 08:42:00
原来if竟然可以不换行阿……
作者: uranusjr (←這人是超級笨蛋)   2017-12-15 09:23:00
不是反串欸是认真这么觉得, 大开眼界ㄎㄎㄎㄎㄎ
作者: goldflower (金色小黄花)   2017-12-15 09:56:00
好喔clike最pythonic 而且我打那句根本也没认真 结果引来认真魔人我也很难办
作者: a1234567289 (蛋包饭)   2017-12-18 19:13:00
这怎么会是pythonic的写法 在不需要else的地方用else? 我真的不懂如果是后缀不能少 else 真的不建议这样写
作者: goldflower (金色小黄花)   2016-01-10 13:24:00
感谢中文使用者出现 要认真也认真在情境

Links booklink

Contact Us: admin [ a t ] ucptt.com