리스트와 유사하지만 튜플은 값의 추가, 삭제, 수정이 불가능하다.
프로그램이 실행되는 동안 값이 변하면 안되는 경우에 주로 사용한다.
tu = (2, 2, 3, 4, 5)
print(tu)
# 결과값
# (2, 2, 3, 4, 5)
# 삭제를 하려고 하면 오류 발생
del tu[0]
# 결과값
# TypeError: 'tuple' object doesn't support item deletion
# 값을 수정하려 하면 오류 발생
tu[0] = 0
# 결과값
# TypeError: 'tuple' object does not support item assignment
# 인덱싱, 슬라이싱은 사용이 가능
print(tu[0])
# 결과값
# 2
print(tu[1:])
# 결과값
# (2, 3, 4, 5)
튜플 연산
tu1 = (1, 2)
tu2 = (3, 4)
print(tu1 + tu2)
# 결과값
# (1, 2, 3, 4)
print(tu1 * 2)
# 결과값
# (1, 2, 1, 2)
튜플에서 += 연산자를 사용하면 튜플의 값이 수정되었다고 생각할 수 있다.
하지만 id값을 확인해보면 다른 id값이 나온다.
즉 기존의 튜플을 삭제하고 새로운 튜플을 생성하는 것이다.
따라서 값의 수정은 이루어지지 않은 것이다.
tu1 = (1, 2)
id(tu1)
# 결과값
# 140378619664320
tu1 += tu2
print(tu1)
id(tu1)
# 결과값
# (1, 2, 3, 4)
# 140378619633936