È considerata la migliore pratica per organizzare la condizione in modo che sia più probabile che entri nella tua clausola if. La condizione < 50% dovrebbe essere la tua altra clausola. In questo caso, dipende da cosa ti aspetti. Se pensi di trovare il file, dovresti usare if os.path.isfile(file_name):
.
Questo motivo risale all'ottimizzazione della ramificazione, sebbene al giorno d'oggi la differenza sia così sottile che, a meno che le prestazioni non fossero molto importanti, non lo farebbe per ottimizzare ma piuttosto per fornire una convenzione al programmatore sul fatto che questo è il comportamento previsto.
Un altro motivo per cui potresti voler cambiare le clausole if e else è se sei costretto a pronunciare le tue condizioni in modo imbarazzante. Un esempio di questo è se hai già isNotOpen
, e vuoi controllare la condizione più probabile che isNotOpen
sia falsa, allora sarebbe brutto scrivere if not isNotOpen:
. Una soluzione potrebbe essere quella di cambiare la clausola if e the else e scrivere solo if isNotOpen:
, anche se penso che in tali circostanze, sarebbe meglio nominare le variabili in base alle condizioni che si aspettano siano vere. In altre parole, non avresti una variabile denominata isNotOpen
, ma piuttosto isOpen
. Quando si preme l'istruzione if, la condizione più probabile non è la variabile negata ma la variabile stessa, quindi if isOpen:
che garantisce entrambi che sia leggibile e che la condizione più probabile sia nella clausola if.
Sotto questo aspetto, ci sono quelli che non aggiungerebbero affatto "not" nel nome, anche se non ho problemi con questo finché è una condizione che ti aspetti (e quindi hai vinto " t mai dover testare la negazione di quella condizione).
Penso che oltre a questo, non vi è alcun motivo per cui si dovrebbe fare uno sull'altro, tuttavia mi aspetterei (si aspetti che in questo contesto sia un termine allentato) la condizione più probabile per essere nella clausola if in qualsiasi lingua , non solo in Python. Ma sono solo i miei 10 centesimi.