Tercüman umurunda olmadığı için bu bir stil (veya tercih) meselesidir. Şahsen ben, fonksiyon tabanı dışında bir girinti düzeyinde bir değer döndüren bir fonksiyonun son ifadesini yapmamaya çalışırdım. Örnek 1 'deki diğer, fonksiyonun sonunun olduğu yerde, sadece hafifçe gizlenir.
Tercihen şunu kullanıyorum:
return A+1 if (A > B) else A-1
Hem fonksiyondaki son ifade olarak (daha önce de belirtildiği gibi) tek bir dönüş ifadesine sahip olmanın iyi kuralına hem de zorunlu stil ara sonuçlarından kaçınmanın iyi fonksiyonel programlama paradigmasına uymaktadır.
Daha karmaşık işlevler için, mümkünse erken dönüşleri önlemek için işlevi birden çok alt işleve ayırmayı tercih ederim. Aksi takdirde rval denilen bir zorunlu stil değişkeni kullanmaya dönüyorum. İşlev önemsiz değilse veya sondan önce döndürme ifadesi bir hata sonucu olmadığı sürece birden fazla dönüş ifadesi kullanmamaya çalışıyorum. Zamanından önce dönmek, devam edemeyeceğinizi vurgular. Birden çok alt işleve dallanmak üzere tasarlanmış karmaşık işlevler için bunları vaka ifadeleri olarak kodlamaya çalışırım (örneğin bir dikte ile çalıştırılır).
Bazı posterlerde çalışma hızından bahsedildi. Yürütme hızı benim için ikincil çünkü yürütme hızına ihtiyacınız varsa Python kullanmak için en iyi dil değil. Python benim için önemli olan kodlama (yani hatasız kod yazma) verimliliği olarak kullanın.