Ich habe eine Methode, die 4 andere Methoden nacheinander aufruft, um nach bestimmten Bedingungen zu suchen, und sofort zurückkehrt (ohne die folgenden zu prüfen), wenn man etwas Wahres zurückgibt.
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
Dies scheint eine Menge Gepäckcode. Anstelle jeder zweizeiligen if-Anweisung würde ich lieber Folgendes tun:
x and return x
Aber das ist ungültiges Python. Vermisse ich hier eine einfache, elegante Lösung? In dieser Situation können diese vier Prüfmethoden übrigens teuer sein, daher möchte ich sie nicht mehrmals aufrufen.
x and return x
ist besser als if x: return x
? Letzteres ist weitaus besser lesbar und damit wartbar. Sie sollten sich nicht zu viele Gedanken über die Anzahl der Zeichen oder Zeilen machen. Lesbarkeit zählt. Sie haben sowieso genau die gleiche Anzahl von Nicht-Leerzeichen, und wenn Sie es wirklich müssen, if x: return x
funktionieren sie in nur einer Zeile einwandfrei.
x
(im Gegensatz zu bool(x)
) zurück. Ich denke, es ist sicher anzunehmen, dass die Funktionen von OP alles zurückgeben können, und er möchte als erstes alles, was wahr ist.