Python 타입 중 하나인 tuple(튜플) 타입에 대하여 알아봅니다. 튜플은 무엇이고 어떻게 사용할까요?



# Python tuple 타입 알아보기
파이썬 언어에는 튜플(tuple) 타입이 존재합니다. tuple은 연속된 값을 가지므로 배열과 비슷하지만 값이 변경되지 않는(immutable) 특징을 가지고 있습니다.
- tuple 타입은 값 변경이 안됨
- 배열처럼 연속된 값을 가짐
그러면 아래는 튜플 값을 선언하는 방법입니다.


! tuple 값 선언하기
튜플은 소괄호를 사용하며 () 내부에 콤마(,)를 구분자로 값을 선언합니다.

(값1, 값2, ... , 값3)


그럼 myTuple 변수를 만들고 값을 선언해보도록 하죠.
myTuple = ('web', 'is', 'free')

이제 값이 myTuple에 튜플 타입의 값이 선언되었습니다. type()을 사용하여 타입을 확인해보겠습니다.
type(myTuple)

// 아래와 같이 출력됨
 <type 'tuple'>

tuple 타입이 선언된 것을 확인하였습니다. 이제 값을 가져오려면 어떻게 할까요? 배열 타입처럼 대괄호를 사용합니다. 즉 [index]를 사용하여 값을 가져올 수 있습니다.
myTuple[0]
// 'web'을 출력

myTuple[1]
// 'is'를 출력

앞서 알아본 것처럼 값이 불변인지 확인하기 위해 동일한 이름으로 새로운 값을 선언해보겠습니다. 과연 값이 바뀌지 않을까요?
myTuple[0] = 'test'

// 아래와 같이 에러가 발생
TypeError: 'tuple' object does not support item assignment

즉 튜플에는 값을 선언할 수 없다는 에러가 나타나죠. 이처럼 값을 변경할 수 없습니다. 하지만 하나의 값이 아닌 전체를 모두 변경하는 경우 새롭게 선언할 수 있습니다.
myTuple = ('test1', 'test2')

// 정상적으로 값이 저장됨

그러므로 값이 변경되지 않도록 사용에 주의해야 합니다.


! 두 개 이상의 tuple 값 병합하기
여기까지 값을 선언하고 가져오는 방법을 알아보았습니다. 이번에는 튜플 값을 합치는 병합 방법을 알아봅니다.
아래와 같이 변수 a, b가 있는 경우 이 둘을 합쳐 보려고 합니다.
a = (1, 2)
b = (3, 4)

c = a + b

결과는 아래와 같이 c의 값이 a, b를 모두 병합한 것과 같은 결과를 가지게 되죠.
// (1, 2, 3, 4)

이처럼 + 연산자는 튜플의 값을 병합할 수 있습니다.


! tuple 값 삭제하기
값을 삭제하는 방법입니다. 삭제 방법으로 del()를 사용합니다.

del()


위의 생성된 변수 c를 삭제하기 위해서 del()을 사용하면 아래와 같죠.
del(c)

print c
// 선언되지 않았다는 에러가 발생

del()로 삭제된 후에는 선언되지 않았다는 오류가 발생했습니다. 즉 c의 값이 삭제된 것을 알 수 있죠.


! 기타 알아보기
참고로 튜플에 사용할 수 있는 메소드는 아래와 같은 메소드가 존재합니다.
cmp(a, b)
// 값 비교하기

len()
// 튜플 길이 비교

max()
// 최대값 가져오기

min()
// 최소값 가져오기

tuple()
// List 타입을 Tuple 타입으로 변환하기

여기까지 파이썬 타입 튜플에 대하여 알아보았습니다.