my_var
がNoneの場合、次の形式を使用することは悪い習慣ですか?if文の条件評価順序に頼っても安全ですか?
if my_var and 'something' in my_var:
#do something
問題はMY_VARがNoneの場合'something' in my_var
はTypeError例外を投げるということです。
それとも私が使用する必要があります。
if my_var:
if 'something' in my_var:
#do something
または
try:
if 'something' in my_var:
#do something
except TypeError:
pass
上記のパイソン(もしあれば)におけるベストプラクティスです質問を言い換えるするには?
別の方法もあります。
2番目のコードのように見えるとき、コーダーは短絡評価の仕組みを理解していないと思います。 – Dana
-1:ドキュメントの引用はありません:http://docs.python.org/library/stdtypes.html#boolean-operations-and-or-not –
@cfi:回答が変更された後に私の投票を変更できるので、私は問題が何であるかは不明です。 –