Comas para optimizar las variables de Python

Sep 09 2020

Tenía una pregunta sobre cómo se puede formatear el código de Python.

 (q, a), b = divmod(b, a), a
        y0, y1 = y1, y0 - q * y1

Para algo como el anterior, ¿cómo funcionan las comas para demostrar las variables? ¿Alguien puede mostrar cómo se vería este código sin el uso de comas entre y0 e y1, o la (q, a)? Sé que debe ser una forma de optimizar el código.

Respuestas

1 YannickFunk Sep 09 2020 at 21:29

Las comas en las asignaciones se utilizan para la creación de tuplas en el lado derecho y el desempaquetado en el lado izquierdo , por ejemplo:

x, y = 1, 3

Que es funcionalmente equivalente a

x = 1
y = 3

O, por ejemplo , desembalaje de listas , por ejemplo:

example_list = [1, 4, 5]
x, y, z = example_list

Que es funcionalmente equivalente a:

x = example_list[0]
y = example_list[1]
z = example_list[2]

Entonces su código sin "comas" sería:

(q, a) = divmod(b, a) # unpacking
b = a
old_y0 = y0
y0 = y1
y1 = old_y0 - q * y1

La razón de esto es principalmente conveniencey no la optimización del código.