더북(TheBook)

튜플 대입은 코드 흐름을 더욱 간결하게 작성하는 데 사용할 수 있다. 다음 피보나치 생성 함수가 파이썬에서 얼마나 간결한지 확인해 보자.

def fibo(n):
    a, b = 1, 0

    while a <= n:
        print(a, end=' ')
        a, b = a + b, a

마지막 줄에서 변수 a는 새로운 값 a + b를 가지며, 변수 ba의 기존 값을 새 값으로 갖게 된다.

프로그래밍 언어 대부분은 ab를 동시에 설정하는 방법을 제공하지 않는다. b에 넣을 값이 변경되는 동시에, a에 넣을 값도 변경되기 때문에 값을 설정할 수 없다. 그래서 일반적으로 임시 변수가 필요하다. 파이썬에서도 원한다면 다음과 같이 코드를 작성할 수 있다.

temp = a      # a 기존 값 보존
a = a + b     # a에 신규 값 설정
b = temp      # b에 a 기존 값 저장

하지만 튜플 대입을 사용하면 임시 변수가 필요 없다.

a, b = a + b, a
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.