Ho un metodo che chiama in sequenza altri 4 metodi per verificare condizioni specifiche, e ritorna immediatamente (non controllando quelli seguenti) ogni volta che si restituisce qualcosa di vero.
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
Sembra un sacco di codice bagaglio. Invece di ogni istruzione if a 2 righe, preferirei fare qualcosa del tipo:
x and return x
Ma questo non è Python valido. Mi sto perdendo una soluzione semplice ed elegante qui? Per inciso, in questa situazione, quei quattro metodi di controllo possono essere costosi, quindi non voglio chiamarli più volte.
x and return x
sia meglio di if x: return x
? Quest'ultimo è molto più leggibile e quindi mantenibile. Non dovresti preoccuparti troppo del numero di caratteri o linee; la leggibilità conta. Sono comunque lo stesso numero esatto di caratteri non bianchi e, se proprio devi, if x: return x
funzioneranno bene su una sola riga.
x
(al contrario bool(x)
), così com'è, penso che sia sicuro presumere che le funzioni di OP possano restituire qualsiasi cosa, e vuole che il primo sia tutto vero.