Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 하나의 값을 여러 변수에 동시에 할당하는 방법

파이썬 다중 할당(Multiple Assignment)의 기본

파이썬은 하나의 값을 여러 변수에 동시에 할당할 수 있는 편리한 기능을 제공합니다. 이를 연쇄 할당(chained assignment)이라고 부르며, 코드를 간결하게 만들어 가독성을 높여 줍니다.

단일 값의 연쇄 할당

다음 예제를 살펴보겠습니다.

a = b = c = 1

위 코드가 실행되면 파이썬은 값이 1인 정수(integer) 객체를 하나 생성하고, 변수 a, b, c 세 개 모두가 동일한 메모리 위치를 참조하도록 합니다. 즉, 세 변수는 같은 객체를 가리키게 됩니다.

여러 값의 다중 할당

반대로 여러 객체를 여러 변수에 한 번에 할당하는 것도 가능합니다.

a, b, c = 1, 2, "john"

이 경우 값이 1과 2인 두 개의 정수 객체가 각각 변수 a와 b에 순서대로 할당되고, 문자열 객체 "john"은 변수 c에 할당됩니다. 우변의 값들은 튜플(tuple) 형태로 묶여 좌변의 변수들에 순차적으로 언패킹(unpacking)되는 방식으로 동작합니다.

활용 시 주의할 점

연쇄 할당은 불변(immutable) 객체인 정수나 문자열에는 안전하게 사용할 수 있지만, 리스트처럼 가변(mutable) 객체에 사용할 때는 주의가 필요합니다. 예를 들어 a = b = []와 같이 작성하면 a와 b가 같은 리스트 객체를 공유하게 되어, 한쪽을 수정하면 다른 쪽도 함께 변경됩니다. 독립적인 리스트가 필요하다면 a, b = [], [] 형태로 작성하는 것이 좋습니다.

또한 변수의 개수와 값의 개수가 일치하지 않으면 ValueError가 발생하므로, 좌변과 우변의 요소 수를 맞춰 주는 것이 중요합니다.