Virgole per ottimizzare le variabili Python
Sep 09 2020
Avevo una domanda su come formattare il codice Python.
(q, a), b = divmod(b, a), a
y0, y1 = y1, y0 - q * y1
Per qualcosa di simile sopra, come funzionano le virgole per dimostrare le variabili? Qualcuno può mostrare come apparirebbe questo codice senza l'uso di virgole tra y0 e y1 o (q, a)? So che deve essere una sorta di modo per ottimizzare il codice.
Risposte
1 YannickFunk Sep 09 2020 at 21:29
Le virgole nelle assegnazioni vengono utilizzate per la creazione della tupla sul lato destro e lo spacchettamento sul lato sinistro , ad esempio:
x, y = 1, 3
Che è funzionalmente equivalente a
x = 1
y = 3
O per esempio elenco di decompressione , ad esempio:
example_list = [1, 4, 5]
x, y, z = example_list
Che è funzionalmente equivalente a:
x = example_list[0]
y = example_list[1]
z = example_list[2]
Quindi il tuo codice senza "virgole" sarebbe:
(q, a) = divmod(b, a) # unpacking
b = a
old_y0 = y0
y0 = y1
y1 = old_y0 - q * y1
La ragione di ciò è principalmente conveniencee non l'ottimizzazione del codice.