파이썬에는 여러가지 형태의 자료형이 있다. 지금 대충 생각 나는 것은 리스트 자료형, 딕셔너리 자료형, 튜플자료형이다.
지지난번 포스팅에서 언급했지만, 리스트자료형과 튜플자료형의 차이는 생성 후 추가적인 변경의 가능 유무이다.
리스트 자료형은 생성 후 변경이 가능하고, 튜플자료형은 생성 후 변경이 불가능하다.
그리고 리스트는 대괄호를 이용해 표현하고, 튜플은 소괄호를 이용해 표현한다.
[1,2,3,4,5]=list
(1,2,3,4,5)=tuple
이런 형식이다.
또한 튜플자료형은 리스트자료형보다 메모리를 적게 차지해서, 속도가 빠르다는 장점이있다.
튜플의 형식의 여러 유형에 대해 작성해본다.

tuple1:빈튜플 자료
tuple2:한 개의 숫자형 데이터로 이뤄진 튜플자료
tuple3:여러개의 숫자형 데이터로 이뤄진 튜플자료
tuple4:괄호를 굳이 사용하지 않아도 튜플자료로 인식된다.
tuple5:문자형 데이터로 이뤄진 튜플자료 작은, 또는 큰따옴표 기호를 사용한다.
tuple7:튜플 속의 튜플자료[리스트자료형에도 동일한 형식이 있다.]
튜플자료형을 만들 시 주의사항이 있는데, 한개의 원소를 가질때 꼭 ',' 콤마 기호를 써줘야한다는 점이다.
따라서 위의 사진의 tuple2는 잘못되었다고 볼 수 있다.

만약에 ',' 콤마 기호를 안붙인다면, 자료가 출력 될 시에 튜플형으로 출력되는것이 아닌, 해당 데이터타입으로 type이 출력된다.


반대로, 정상적인 튜플자료형은 class 'tuple'로 출력될 것이다. 한번 확인해보자.


튜플형 자료형도 리스트형 자료형과 마찬가지로, 인덱싱과 슬라이싱, 그 외 길이 구하기 등 작업을 수행 할 수 있다.
먼저 튜플의 인덱싱을 알아보자면,

위와같이 내 기본정보를 튜플형으로 작성한 다음, 리스트형과 똑같이 0부터 시작해서 나타낼 수 있다.
내 생일인 '12월28일'을 출력하고 싶다면, print(tupleindex[2])라고 작성하면 된다.
내 생년인 '1994년' 을 출력하고 싶다면, print(tupleindex[4])라고 작성하면 된다.


생년인 1994년을 출력해보았다. f포멧으로 출력 할 시, 앞에 내가 쓰고싶은 문구를 포함해서 출력할 수 있다.
슬라이싱을 하는 방법또한 리스트자료형과 똑같다.
'0부터 시작하는 첫자리에서, X번째 자리의 요소 전까지 출력한다.' 라는 전제를 갖고 대괄호 안에 작성할 수 있다.
'생일' 과 '12월28일' 을 출력하려면, print(tupleindex[1:3]) 라고 코드를 치면 되며, '강주현', '생일', '12월 28일' 을 출력한다면, print(tupleindex[:3]) 숫자 0을 입력하는 첫 번째 자리를 생략하고, 숫자 3에 해당하는 4번째 자리 전까지 출력한다. 라고 코드를 작성하면 된다.


내 생일은 12월 28일이니, 이 글을 보는 친구들이 있으면 기억해줬음 좋겠다.
아직까지 12월 30일이라고 외치는 친구가 있기 때문이다.
그리고 튜플 값을 더하고 곱하고 셈 할 수 있다.
덧셈은 튜플과 튜플을 서로 원소를 합쳐서 출력해주는 기능을 하고, 곱셈은 반복출력을 할 수 있게 된다.



튜플자료의 덧셈과 곱셈을 나타냈다. 덧셈에서 출력은 숫자형과 문자형의 원소를 그대로 포함해서 나온것이다.
곱셈에서의 출력은 tuple2의 값은 3이고, tuple4의 값은 1,2,3 이므로 1,2,3의 원소가 3번 출력된 것을 확인 할 수 있다.
만약 곱셈에서 tuple2의 값이 3말고 다른 요소가 있으면 어떨까? 싶어 바로 실행에 옮겼지만 출력 오류가 나는것을 확인할 수 있었다. 또한 tuple2의 값이 (3,)가 아닌 (3)이어서 계산이 되었지만 (3,)로 입력하는 순간 출력 오류가 난다.

마지막으로, 튜플자료의 개수 또한 구할 수 있다.
len함수를 이용하는 방법인데, len(내가원하는 튜플)을 넣으면 개수가 출력된다.
수백명분의 이름이나 정보를 입력하고, 총원을 계산할때 유용할 것 같다.




생각보다 튜플자료형의 부가적인 기능이 많아서 리스트와 마찬가지로 1편2편으로 나누었다.
다음 포스팅은 튜플자료형의 값 추가, 삭제, 정렬 등에 대해서 작성할 예정이다.

'코딩입문 > 백엔드' 카테고리의 다른 글
| 코딩입문기-파이썬3버전-5 튜플자료형2 (0) | 2022.05.23 |
|---|---|
| 코딩입문기-자바 및 이클립스 설치와 실행 (0) | 2022.05.17 |
| 코딩입문기-파이썬3버전-3 리스트자료형의 슬라이싱 (0) | 2022.04.27 |
| 코딩입문기-파이썬3버전-2 리스트자료형의 인덱싱 (0) | 2022.04.25 |
| 코딩입문기, 파이썬 3버전-따로공부 (0) | 2022.04.18 |