È sicuro assumere che gli argomenti di funzione sono valutati da sinistra a destra in Python?È sicuro affidarsi all'ordine di valutazione degli argomenti della funzione Python?
Il riferimento indica che succede in questo modo ma forse c'è un modo per cambiare questo ordine che potrebbe infrangere il mio codice.
Quello che voglio fare è quello di aggiungere il tempo bollo per chiamata di funzione:
l = []
l.append(f(), time.time())
ho capito che posso valutare gli argomenti in sequenza:
l = []
res = f()
t = time.time()
l.append(res, t)
ma sembra meno elegante così ho' Preferisco il primo modo se posso fidarmi di esso.
Se il riferimento lo dice e non dice esplicitamente che questo potrebbe cambiare in futuro, allora puoi fare affidamento su di esso. –
'" un modo per cambiare questo ordine "' Come potrebbe essere cambiato? (Le funzioni non possono scegliere come valutare i loro argomenti, vengono valutate prima di passare alla funzione) –
Nel tuo caso d'uso, l'ordine di valutazione non sembra avere importanza, tranne se 'f() 'è una funzione di lunga durata. – Xaqq