x, y = x + 3 * y, 4 * x + 1 * y
es el equivalente de:
x = x + 3 * y
y = 4 * x + 1 * y
SALVO que utiliza los valores originales para x e y en ambos cálculos - debido a que los nuevos valores para x e y no se asignan hasta que ambos los cálculos están completos.
La forma genérica es:
x,y = a,b
donde a y b son expresiones de los valores de los cuales se asignan a x e y respectivamente. En realidad se puede asignar cualquier tupla (conjunto de valores separados por comas) a cualquier tupla de variables del mismo tamaño - por ejemplo,
x,y,z = a,b,c
también quiere trabajar, pero
w,x,y,z = a,b,c
¿No porque el el número de valores en la tupla de la derecha no coincide con el número de variables en la tupla de la izquierda.
creo que una variable temporal agrega claridad. Espero que no te importe – hop
De hecho, creo que al explicarlo con un "EXCEPTO" enfatizado aclaro el punto, así que revirtí el cambio. Gracias de todos modos por el intento de mejora, simplemente tengo una opinión diferente sobre el asunto. :) – Amber
Tiene perfecto sentido. Al verlo envuelto entre paréntesis quedó totalmente claro. Muy fácil de leer rápido y perder ese pequeño detalle. ¡Gracias! –