if
何かが有効かどうかをテストする必要try
がありますか、それとも例外をキャッチするだけですか?
- 一方通行の方が望ましいという確固とした文書はありますか
- 一方向にもっとpythonicですか?
たとえば、私は:
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
または:
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
いくつかの考え...
PEP 20は言う:
エラーは黙って渡ってはなりません。
明示的に沈黙させない限り。
のtry
代わりにを使用すると、if
警告なしにエラーが発生したと解釈されますか?もしそうなら、それをこのように使用して明示的に沈黙させ、それでそれを大丈夫にしますか?
私は、物事が一方向にしかできない状況については言及していません。例えば:
try:
import foo
except ImportError:
import baz
if index in mylist
インデックスが可能性のあるインデックスではなく、mylistの要素であるかどうかをテストします。if index < len(mylist)
代わりにしたいでしょう。