當my_var
可以是無時使用以下格式是不好的做法嗎?在if語句中依賴條件評估順序安全嗎?
if my_var and 'something' in my_var:
#do something
的問題是,'something' in my_var
將拋出一個TypeError如果my_var是無。
或者我應該使用:
if my_var:
if 'something' in my_var:
#do something
或
try:
if 'something' in my_var:
#do something
except TypeError:
pass
重新表述的問題,它的上面是Python中的最佳實踐(如果有的話)?
替代品是歡迎的!
當我看到第二個代碼時,我假設編碼器不理解短路評估的工作原理。 – Dana 2009-04-15 16:04:14
-1:文檔中沒有引用:http://docs.python.org/library/stdtypes.html#boolean-operations-and-or-not – 2009-04-15 17:02:31
@cfi:因爲我可以在答案更改後更改我的投票,我不清楚問題在哪。 – 2011-11-22 19:12:16