Saya mendapat pernyataan if-elif-elif-else yang 99% waktunya, pernyataan else dijalankan:
if something == 'this':
doThis()
elif something == 'that':
doThat()
elif something == 'there':
doThere()
else:
doThisMostOfTheTime()
Konstruksi ini banyak dilakukan , tetapi karena ia melewati setiap kondisi sebelum mencapai kondisi lain, saya merasa ini tidak terlalu efisien, apalagi Pythonic. Di sisi lain, ia perlu mengetahui apakah salah satu kondisi tersebut terpenuhi, jadi tetap harus mengujinya.
Adakah yang tahu jika dan bagaimana hal ini dapat dilakukan dengan lebih efisien atau apakah ini cara terbaik untuk melakukannya?
if not something.startswith("th"): doThisMostOfTheTime()
dan melakukan perbandingan lain di else
klausa.
something
, atau apakah perbandingan serupa dilakukan beberapa kali pada nilai yang sama?
sort
melakukan hal-hal yang menjalankan rantai if / else ... Anda, sehingga semua elemen yang akan cocok dengan salah satu kondisinya ada di satu ujung, dan yang lainnya ada di sisi lain? Jika demikian, Anda dapat melihat apakah itu lebih cepat / lebih elegan atau tidak. Tapi ingat, jika tidak ada masalah kinerja, terlalu dini untuk mengkhawatirkan pengoptimalan.