Asignación de tuplas

Una de las características sintácticas únicas del lenguaje Python es la capacidad de tener una tupla en el lado izquierdo de una sentencia de asignación. Esto permite asignar más de una variable a la vez cuando hay una secuencia del lado izquierdo.

En este ejemplo tenemos una lista de dos elementos (la cual es una secuencia) y asignamos el primer y segundo elementos de la secuencia a las variables x e y en una única sentencia.

Python traduce aproximadamente la sintaxis de asignación de la tupla de este modo:

Estilísticamente, cuando se utiliza una tupla en el lado izquierdo de la asignación, se omiten los paréntesis, pero si colocamos los paréntesis la sintaxis es igualmente válida:

Una aplicación particularmente ingeniosa de asignación con tuplas permite intercambiar los valores de dos variables desde una sola sentencia:

Ambos lados de la sentencia son tuplas, pero el lado izquierdo es una tupla de
variables; el lado derecho es una tupla de expresiones. Cada valor en el lado derecho es asignado a su respectiva variable en el lado izquierdo. Todas las expresiones en el lado derecho son evaluadas antes de realizar cualquier asignación.

Generalizando más, el lado derecho puede ser cualquier tipo de secuencia (cadena, lista, o tupla). Por ejemplo, para dividir una dirección de e-mail en nombre de usuario y dominio, se podría escribir:

El valor de retorno de split es una lista con dos elementos; el primer elemento es asignado a usuario, el segundo a dominio.