En Python, ¿debería usar else después de una devolución en un bloque if?

Primero, no pude encontrar una respuesta a esto en PEP 8 . Eso no significa que no esté allí. Siéntete libre de señalarme.

¿Qué estilo prefieres?

El primero :

if spam: # Do stuff. return eggs else: # Maybe do other stuff. return parrots 

o el segundo :

 if spam: # Do stuff. return eggs # Maybe do other stuff. return parrots 

Depende, si usted devuelve loros, cuando no devuelve huevos, entonces el primero es más claro. Pero si está intentando detectar un error o algo así, el segundo es mejor.

¡El primero!

Explícito es mejor que implícito.

¡El segundo! Menos es más, y más es mejor.

El segundo. Lo mismo se aplica no solo a la return sino también a las declaraciones de break y continue . La else y la consiguiente hendidura son irritantes para los ojos y una pérdida de espacio.

Realmente no importa Si realmente necesita razones para elegir una, use la que mejor transmita las razones detrás del código. El primero si ambos casos son de alguna manera similares o igualmente importantes. El segundo si usualmente devuelve loros pero los huevos es un caso especial.

¡Ninguno!

 if spam: # Do Stuff result= eggs else: # Maybe do other stuff result= parrots return result 

Creo que depende de la parte de “hacer cosas”. Ambos son aceptables.

No sé python, pero sí lo sé.

 return spam if eggs else parrots 

Edit : no me di cuenta de la parte Do stuff. En ese caso, crearía otro método o función (como se llame en python) para cada twig.