안녕하세요 엘빈입니다. 저번 포스팅에서는 리스트 자료형과 관련하여 여러가지를 알아보았는데요. 파이썬은 다른 프로그래밍 언어와 구별되게 개발자의 편리성을 위하여 그동안 있었으면 하는 기능들을 많이 추가하였습니다. 개발자가 요구해왔던 자료형들도 많이 포함되어 있죠.
튜플 자료형이란?
튜플 자료형도 이에 포함되는데요. 튜플은 리스트와 매우 비슷하지만 다른 점이 있습니다. 가장 큰 차이점이라면 튜플은 한번 그 값을 설정하면 수정/삭제가 불가능 하죠. 리스트는 "[ ]"를 통해 선언했지만 튜플은 선언시 일반 괄호 "()"를 사용합니다.
개발자로 사람인지라 절대 수정해야하지 말아야 하는 변수의 값을 실수로 변경할 때가 있습니다. 이런 경우를 대비하여 문법적으로 수정의 여지를 막는 것이죠. 수정하려는 시도가 있다면 컴파일 시 에러가 발생합니다.
정리하자면 리스트 자료형은 수시로 변수의 값이 변경되야 할 경우 사용되고 튜플은 절대 수정되면 안되는 변수들에 사용합니다. 실제 개발에서는 리스트 자료형이 훨씬 많이 사용되기는 합니다.
튜플은 다음과 같이 작성합니다.
tp = (1,2,3)
tp2 = ('a','b',1,3,(5,6))
print(tp) # (1, 2, 3)
print(tp2) # ('a', 'b', 1, 3, (5, 6))
튜플 수정 코드를 작성해보겠습니다. 어떻게 표시될까요?
tp = (1,2,3)
tp[0] = '1'
콘솔창에 다음과 같은 문장을 볼 수 있습니다.
'tuple' object does not support item assignment
튜플 값을 수정하려고 하면 아예 컴파일되지 않도록 문법적으로 막아버리면서 개발자가 실수하는 것을 예방해 주는 것이죠.
튜플 인덱싱, 슬라이싱, 함수
튜플은 값을 변경할 수 없다는 점을 제외하면 리스트가 가지고 있는 기능들을 사용할 수 있습니다.
(1) 인덱싱
tp = (1,2,3)
print(tp[0]) # 1
특정 인덱스 위치에 있는 원자값을 찾는 기능입니다. 리스트와 같이 "[ ]" 안에 인덱스 값을 넣어줍니다.
(2) 슬라이싱하기
tp = (1,2,3,4,5)
print(tp[1:3]) # (2, 3)
인덱스 범위를 지정하여 여러 개의 원자값들을 찾는 기능입니다.
(3) 튜플 더하기
tp = (1,2)
tp2 = (3,4)
print(tp+tp2) # (1, 2, 3, 4)
튜플끼리 더하기를 하면 원자값들이 합쳐진 상태로 표시됩니다.
(4) 튜플 곱하기
tp = (1,2)
print(tp*3) # (1, 2, 1, 2, 1, 2)
곱한 횟수 만큼 원자값 집합을 반복한 상태로 표시됩니다.
(5) 튜플 길이 구하기
tp = (1,2,3,4)
print(len(tp))
튜플 원자값 개수를 카운트하는 함수입니다. Len 함수 안에 튜플 자료형을 넣어주면 됩니다.
마무리
사실 튜플은 특정 조건이 있는 변수 외에 잘 사용하지는 않습니다. 하지만 파이썬에서 개발자 편의를 위해 제공하는 자료형이기에 알아두시고 실수하지 않게 활용하는 것이 좋습니다. 다음 포스팅에서는 js 언어를 다루셨던 분들이라면 익숙할 수 있는 딕셔너리 자료형에 대해서 알아보겠습니다.
포스팅 읽어주셔서 감사합니다.
이전글