Bir if
şeyin geçerli olduğunu test etmeli miyim yoksa sadece try
bunu yapmalı ve istisnayı yakalamalıyım?
- Tek yönün tercih edildiğini söyleyen sağlam belgeler var mı?
- Tek yönlü daha pitonik mi?
Örneğin:
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
Veya:
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
Bazı düşünceler ...
20.PEP şöyle diyor:
Hatalar asla sessizce geçmemelidir.
Açıkça susturulmadıkça.
Bir kullanarak Should try
yerine ait if
sessizce geçen bir hata olarak yorumlanabilir? Ve eğer öyleyse, bu şekilde kullanarak açıkça susturuyor musunuz, bu yüzden sorun değil mi?
Ben değilim değil sadece şeyler 1 yolunu yapabilir durumlara atıfta; Örneğin:
try:
import foo
except ImportError:
import baz
if index in mylist
indeksin olası bir indeks değil, bir mylist elementi olup olmadığını test eder. Bununif index < len(mylist)
yerine istersiniz .