안녕하세요 오늘은 튜플에 대해서 설명하겠습니다.
Tuple
리스트와 마찬가지로 임의적인 항목의 시퀸스다.
리스트와는 다르게 불변한다. 즉 튜플을 정의 한 후에 수정,삭제,추가 할 수 없다.
() 로 둘러 쌓여있다. ()로 둘러쌓여있는것은 튜플이다
* 꼭 마지막 까지 봐주세요
튜플생성하기 : ()
empty_tuple = ()
로 튜플을 생성한다 그리고 괄호안에 요소를 넣을수 있다.
위와 같은 경우는 빈 튜플을 생성한 것이다.
튜플을 정의 할 때 () 가 필요 없다
가장 마지막에 , ( 쉼표 ) 를 붙이면 Tuple을 정의한다는 의미이다
하지만 가독성을 높이기 위해 () 를 묶어서 생성하도 록 하자
튜플 언패킹 : Tuple unpacking
튜플을 한번에 여러변수에 할당 하는것
num_tuple에 1,2,3 이라는 항목이 있다.
변수 a, b, c 에 1,2,3이라는 값들을 할당 하였다.
위의 사진을 보면 변수 a 에 1이 b에는 2가 c에는 3이 들어간걸 볼 수 있다.
한 문장에서의 값 교환
한 문장에서 값을 교환하기위해 임시변수를 사용하지 않고 튜플을 사용할 수가 있다
ID에 코딩하는 공대생을 넣으려 했다가 Password에 넣어버렸다.
이럴때 임시변수에 값을 넣었다가 하기엔 너무 번거롭다
*지금의 예시는 우리가 기억 할 수있는 단어이다 하지만
막대한량의 자료, 한순간에 외우기 어려운 것들로 이루어진 변수, 많은 양의 각각의 변수들 이라면 더욱 힘들것이다.
이것이 튜플의 힘이돳~
차례대로 봐야한다.
ID 가 Password 에 대응한다
Password 는 ID 에 대응한다.
헷깔릴 수 있으니 아래의 사진을 확인해 보자.
중간에 철자를 잘못써서.. 틀렸다.. ㅎ..
ID , Password = ID , Password 를 하였을 때는
ID 의 값은 변하지 않았고 Password의 값도 변하지 않았다
즉 위의 사진 처럼 대응 하고 있는 걸 알수있다.
다른객체를 튜플로 만들기 : tuple()
다른 객체인 리스트를 튜플로 바꾸어 보았다.
type() 함수를 써서 반환되는 타입을 알아보니 tuple 로 바뀐것을 알 수있다.
하지만 원래의 hanList는 바뀌지 않는다. 잠시 바꿔준것 뿐이다.
튜플의 활용
튜플을 여러방식으로 활용할 수 있다. 하지만 List 처럼 append, insert 등 함수를 사용할 수 없다.
왜냐하면 튜플을 불변하기 떄문이다.
*append 마지막항목에 추가, insert 인덱스를 활용한 추가 이 모두가 항목을 추가하는 거기때문에 사용할 수없다.
인덱싱
위와 같이 offset 을지정하여 인덱싱을 할 수도 있다.
곱하기
곱하기는 위와 같은 방식으로 할 수있다. 곱하기를 하였어도 원래의 hanTuple의 값은 변하지 않으니 걱정하지 않아도 된다.
변한다면..... ㅇㅅㅇ 이기능을 만들 필요가 없었을 지도 모른다(코딩하는 공대생주관)
boom 변수에 hanTuple를 곱한 항목들을 할당하였다.
boom을 치니 () 로 묶여있는 걸로 보아 Tuple 인걸 알수있다.
더하기
hanTuple + num_tuple 을 하였더니 항목들이 합쳐져서 나온걸 알 수 있다.
슬라이싱
위에서 만들었던 hanList 를 tuple() 를 이용하여 tuple 형태로 바꿔준후
hanTuple에 값을 할당하였다.
마지막으로 튜플을 사용하는 이유에 대해서 설명하고 마치도록 하겠습니다.
튜플을 사용하는 이유
- 튜플은 리스트보다 더 적은 공간을 사용
- 실수로 튜플의 항목이 손상될일(삭제, 변경)이 없다.
- 튜플을 딕셔너리의 키로 사용 할 수 있다. (딕셔너리 시간에)
- 함수의 인자들은 튜플로 전달된다.
- 네임드 튜플은 객체의 단순한 대안이 될 수있다.(추후에 설명하겠습니다.)
'Python > Basic' 카테고리의 다른 글
[ 파이썬 기초 ] 파이썬 딕셔너리 dict 기초 완전 정복 2 <딕셔너리 메소드 정리 > (0) | 2019.06.25 |
---|---|
[파이썬 기초] 파이썬 딕셔너리 dict 기초 완전 정복 1 (0) | 2019.06.24 |
[파이썬 기초] 파이썬 리스트 List 기초 완전 정복 2 < List 메소드 정리 > (0) | 2019.06.16 |
[파이썬 기초] 파이썬 리스트 List 기초 완전 정복 1 (0) | 2019.06.15 |
[파이썬 기초] 파이썬 문자열 내장 함수 총 정리 | [python Basic] Python String Function doc (0) | 2019.05.23 |