Saya memiliki metode yang memanggil 4 metode lain secara berurutan untuk memeriksa kondisi tertentu, dan segera kembali (tidak memeriksa yang berikut) setiap kali seseorang mengembalikan sesuatu yang Sejati.
def check_all_conditions():
x = check_size()
if x:
return x
x = check_color()
if x:
return x
x = check_tone()
if x:
return x
x = check_flavor()
if x:
return x
return None
Ini sepertinya banyak kode bagasi. Alih-alih setiap pernyataan 2-baris jika, saya lebih suka melakukan sesuatu seperti:
x and return x
Tapi itu Python tidak valid. Apakah saya melewatkan solusi sederhana dan elegan di sini? Kebetulan, dalam situasi ini, keempat metode pemeriksaan mungkin mahal, jadi saya tidak ingin memanggil mereka beberapa kali.
x and return x
lebih baik daripada if x: return x
? Yang terakhir jauh lebih mudah dibaca dan dengan demikian dapat dipertahankan. Anda tidak perlu terlalu khawatir tentang jumlah karakter atau garis; jumlah keterbacaan. Mereka adalah jumlah karakter non-spasi yang sama persis, dan jika Anda benar-benar harus, if x: return x
akan bekerja dengan baik hanya pada satu baris.
x
(berlawanan dengan bool(x)
) sehingga saya kira aman untuk menganggap bahwa fungsi OP dapat mengembalikan apa pun, dan dia menginginkan apa pun yang benar yang benar.