2. Asignación y algo más

2.1. Asignación Múltiple

Asignación Múltiple, Intercambio de Variables

En Python existe una forma que se conoce como asignación múltiple.

Una asignación múltiple permite realizar una inicialización o dar valores a múltiples variables en una misma línea, por ejemplo:

a,b,c=1,2,3 es equivalente a tres lineas=>      
a=1
b=2
c=3

Podemos ver que se va asignando en el orden que aparecen. También esta asignación múltiple permite realizar otra operación muy curiosa la cual veremos.

Esta asignación múltiple es muy útil al momento de "rotar valores".

Veamos un ejemplo:

a,b = 10,1    # en este punto a=10 y b=1, se corresponde la asignación con el orden.

a,b = b,a     # en este punto se produce una rotación entre a y b.

 

Figura 1

Si quisiéramos hacer esto sin asignación múltiple se necesitaría una variable más:


Figura 2

Como vemos este tipo de asignación simplifica el código.

Una sola línea : a,b=b,a se corresponde con tres líneas temp=a, a=b, b=temp. Veamos de manera más gráfica.

Figura 3

Asignaciones simples no serían suficientes para lograr esta rotación, tal como lo vemos a continuación:

Figura 4 Figura 5
En este caso al finalizar perdimos el valor de b=10 ! En este caso al finalizar perdimos el valor de a=1 !

Como era de esperarse, en cualquier caso se pierde el valor de a o de b, es por eso que necesitamos una tercer variable para hacer la rotación  o podemos usar la asignación múltiple de Python

Figura 1