파이썬(Python)에서 변수는 사실 메모리에 저장된 객체에 붙여진 라벨(label) 또는 식별자입니다. 따라서 하나의 객체를 두 개 이상의 변수가 동시에 가리킬 수도 있습니다.
1. 여러 변수에 같은 값 할당하기
등호(=)를 연결하면 하나의 문장으로 여러 변수에 동일한 값을 할당할 수 있습니다.
>>> a=b=c=5
>>> a
5
>>> b
5
>>> c
5
위 예제에서 a, b, c는 모두 동일한 객체를 참조하는 세 개의 변수입니다. 내장 함수인 id()를 사용하면 세 변수가 실제로 같은 객체를 가리키고 있음을 확인할 수 있습니다.
>>> id(a), id(b), id(c)
(1902228672, 1902228672, 1902228672)
2. 여러 변수에 서로 다른 값 할당하기
파이썬은 하나의 문장에서 서로 다른 변수에 각각 다른 값을 할당하는 것도 지원합니다. 이때 튜플(tuple) 객체의 요소들이 언패킹(unpacking)되어 순서대로 여러 변수에 대입됩니다.
>>> a,b,c=(1,2,3)
>>> a
1
>>> b
2
>>> c
3
괄호 없이 a,b,c = 1,2,3처럼 작성해도 결과는 동일합니다. 이 기능을 활용하면 별도의 임시 변수 없이 두 변수의 값을 손쉽게 맞바꿀(swap) 수 있다는 장점도 있습니다.
>>> a, b = b, a