Belirli koşulları kontrol etmek için sırayla 4 diğer yöntemleri çağıran bir yöntem var ve bir Truthy bir şey döndüğünde hemen (aşağıdakileri kontrol değil) döner.
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
Bu çok fazla bagaj kodu gibi görünüyor. Her 2 satırlık if ifadesi yerine, şöyle bir şey yapmayı tercih ederim:
x and return x
Ama bu geçersiz Python. Burada basit ve zarif bir çözümü özlüyor muyum? Bu arada, bu durumda, bu dört kontrol yöntemi pahalı olabilir, bu yüzden onları birden çok kez aramak istemiyorum.
x and return x
daha iyi olduğunu düşünüyorsun if x: return x
? İkincisi çok daha okunabilir ve böylece bakımı yapılabilir. Karakter veya satır sayısı konusunda fazla endişelenmemelisiniz; okunabilirlik önemlidir. Zaten aynı sayıda boşluk olmayan karakterdir ve gerçekten ihtiyacınız varsa if x: return x
, sadece bir satırda iyi çalışır.
x
(aksine bool(x)
) geri döner , bu yüzden dururken OP'nin işlevlerinin herhangi bir şey döndürebileceğini varsaymanın güvenli olduğunu düşünüyorum ve ilk doğru olan her şeyi istiyor.