In realtà uso Python e Flask per il mio devblog. So che a seconda della lingua, è consigliabile usare un esplicito else
quando non è obbligatorio, ma non so come funzioni in Python.È preferibile utilizzare un "altro" in Python quando non è necessario?
Ad esempio, ho una funzione con un if
che restituisce qualcosa se l'istruzione è vera. Quindi, il else
non è necessario perché con o senza di esso, l'esecuzione continua normalmente.
def foo(bar):
if not isinstance(foo, list):
return "an error"
else: # not necessary
return "something"
Quindi, dovrei usarlo come questo, o come:
def foo(bar):
if not isinstance(foo, list):
return "an error"
return "something"
I [quasi] sempre "rispecchiano" i percorsi di esecuzione - l'eccezione lancia rapidamente un'eccezione: D (che è diverso dalla restituzione di un valore.) Questa è principalmente una scelta di stile (ovvero * Not Co nstructive *), ma sostengo che rende "i percorsi effettivi" più distinti e può prevenire alcuni errori stupidi. –
Non penso che sia una questione di linguaggio ma di stile di codifica. Quindi la risposta potrebbe essere: qualunque cosa tu trovi più leggibile. – madth3
Personalmente preferisco il primo per simmetria o una terza via che dovrebbe assegnare un valore di ritorno in ogni ramo e quindi avere un singolo 'return retvalue' alla fine. Un leggero vantaggio di _non_ usando un 'else' o' elif' oltre a essere una linea aggiuntiva da digitare, è quando ne hai più di due, è più facile eliminarlo o aggiungerne uno ovunque nella catena. Generalmente non credo che ci sia molta differenza dal punto di vista delle prestazioni. – martineau