본문으로 바로가기

Python: Tuple

category Programming/Python 2021. 1. 1. 23:07
반응형

다른 정적 프로그래밍 언어에서의 배열에 해당하는 LIST에 대해 지난 글에서 알아보았다.
오늘은 TUPLE이라고 불리는 상수 LIST에 대해 알아보자.

이전 글에서 이야기 했듯이, 변수를 사용할 때 별도의 선언 과정이 없는 파이썬에서는 데이터를 초기화 할 때 어떤 괄호를 사용하는지에 따라 전혀 다른 타입의 변수로 선언된다. 그리고, 튜플은 소괄호를 이용해서 표현된다.

튜플은 다른 순환 가능 개체들과 달리, 괄호 없이 원소를 나열하는 것만으로도 정의할 수 있다. 그러나, print 함수를 이용한 출력 시, 괄호로 감싸진 형태로 표시됨으로써, 튜플임을 나타낸다.

여러 원소들을 이용해서 정의된 튜플도, 위 그림과 같이 FOR 반복에 활용되는 등, 앞에서 살펴본 리스트와 비슷하게 활용될 수 있다.

하지만, 리스트와 달리 한 번 정의된 튜플은 위 그림과 같이 튜플의 원소를 변경하거나 삭제하는 것이 불가능하다.
파이썬에서는 기본적으로 Constant를 취급하지는 않는다. 다시 말해, 정적 프로그래밍 언어에서의 Constant 상수라는 개념 자체가 존재하지 않는다는 의미이다. 그저 일반 변수를 사용하는 것과 같이, 특정 변수에 값을 할당하고 프로그래머가 해당 변수의 값을 변경하지 않는 정도로만 사용될 뿐이다.
그럼에도 불구하고, Constant를 프로그램에 적용하길 원할 때는 튜플이 좋은 대안이 될 수 있다.

Constant의 대용으로 튜플을 사용할 때, 소괄호를 이용하여 데이터를 감싸주었다고 해서, 시스템이 모두 튜플로 인식하지는 않는다는 점을 주의해야 한다.

반드시 위 그림과 같이, 원소 다음에 콤마 기호를 붙여주어야 시스템이 튜플로 인식한다는 점을 기억하자.

지금까지의 내용만 놓고 보면, 리스트와 튜플의 차이는 수정이 가능한지, 불가능한지의 차이 정도로 정리할 수 있다. 물론, 이것만으로도 프로그램을 작성할 때 튜플을 사용해야 하는 이유가 충분히 되고도 남지만, 같은 기능을 처리하는 프로그램이라 할지라도 튜플은 리스트에 비해 적은 메모리를 가지고, 더 빠르게 처리할 수 있다는 장점도 함께 가지고 있다.

이러한 장점을 가지고 있다 하더라도, 튜플의 수정이 불가능하다는 특성은 여전히 프로그래머들의 선택을 회피하게 만드는 이유가 되기에 충분하다. 하지만, 위 그림과 같이, 튜플과 리스트는 상호 변환이 가능하므로, 크게 걱정할 필요는 없다고 생각한다.

 

 

반응형

'Programming > Python' 카테고리의 다른 글

Python: Dictionary  (0) 2021.01.03
Python: Set  (0) 2021.01.02
Python: List  (0) 2020.12.17
Python: Break & Continue  (0) 2020.12.14
Python: WHILE문  (0) 2020.12.10