Bir ifşeyin geçerli olduğunu test etmeli miyim yoksa sadece trybunu 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 tryyerine ait ifsessizce 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 mylistindeksin olası bir indeks değil, bir mylist elementi olup olmadığını test eder. Bununif index < len(mylist)yerine istersiniz .