본문 바로가기
Programming/Python

Python Basic : Tuple

by The Programmer 2026. 1. 19.

I. Introduction

튜플은 변경될 수 없다. 그 구성 원소에 대해서. 순서도 바꿀 수 없다. 반면, 리스트는 그렇지 않다.

튜플Tuple은 List처럼 생겼지만 보통의 평범한 괄호를 사용한다. 괄호Parentheses, 이렇게 생긴, (  ).

#문자열 튜플
myTuple1 = ( "오징어", "꼴뚜기", "문어" )

# 숫자형 튜플
myTuple2 = ( 1, 3, 5, 7, 9 )

# 괄호는 생략 가능.
myTuple3 = "월", "화", "수", "목", "금", "토", "일"

# 텅 빈 튜플 생성 1
emptyTuple1 = ()

# 텅 빈 튜플 생성 2
emptyTuple2 = tuple()

# 쉼표, 콤마Comma를 추가하면 튜플이 됨.
variableA = 6, 25

# 원소가 하나인 튜플, 주의! 쉼표 추가!
intVariableB = 999
tupleVariableC = 999,

# 튜플은 수정되지 않는다.
print(myTuple1[2])    # "문어"
myTuple1[2] = "명태"    # Error!

# 튜플의 정렬
myTuple4 = ( 1, 9, 5, 2, 8, 6 )
myList! = sorted(myTuple4)
# sorted()는 튜플을 받고 리스트를 반환한다.
# 튜플은 직접 정렬되지 않는다.
# 리스트로 값들을 넘기고 그 리스트에서 정렬한다.

 

#  튜플 요소들의 갯수 알아내기

>>> myTuple5 = (1, 2, 3, "OK!")
>>> len(myTuple5)
4
>>>

 

# 튜플의 첫 요소 출력하기

>>> print(myTuple5[0])

1

>>>

 

# 튜플의 마지막 요소 출력하기

>>> print(myTuple5[len(myTuple5)-1])

OK!

>>> 

# 문자열을 실제로 문자열 내용 그 자체만 아무런 표지나 장식 없이 그대로 출력한다. print() 함수 효과라고 할 수 있다. 아래와 비교, 대조해 보라.

 

>>> myTuple5[len(myTuple5)-1]
'OK!'
>>> 

# 여기서는 문자열이라는 것을 나타내는 작은 따옴표 '토큰'이 포함되어 있다.

 

# 튜플의 크기 알아내기

Python에서는 C/C++처럼 sizeof() 같은 내장 함수가 없고, size()라는 함수도 기본적으로 제공되지 않는다. 어떤 객체의 '크기'라는 말은 두 가지로 해석될 수 있다.

 

1) 객체의 메모리 사용량 크기

2) 객체의 구성 요소의 갯수(길이) ( 보통의 경우에, 이것을 의미함.)

 

순서대로 살펴보면:

 

# 객체가 차지하는 메모리 크기 확인법

sys.getsizeof(obj) : 객체가 차지하는 메모리 크기를 바이트 단위로 반환한다.

 

import sys

 

a = 10

print(sys.getsizeof(a))    # 정수형 변수  a가 메모리 상에서 차지하는 크기

b = [ 1, 2, 3 ]

print(sys.setsizeof(b)    # 리스크 객체 b가 메모리 상에서 차지하는 크기


# 주의 사항 :: Python에서, 리스트나 딕셔너리 같은 컨테이너의 경우, 컨테이너 자체의 크기만 반환하고 내부 요소들의 크기는 포함하지 않습니다. 전체 메모리 사용량을 알고 싶다면 재귀적으로 요소들의 크기를 합산해야 합니다. 추가 계산이 필요한 부분입니다.

 

# 객체의 구성 요소의 갯수(길이) ( 보통의 경우에, 이것을 의미함.)

 

len(obj)    --> 리스트, 튜플, 문자열, 딕셔너리 등 구성 요소의 갯수를 반환합니다.

 

# 문자열의 길이 출력 : 5

>>> s = "Hello"

>>> print(len(s))    

5

>>>

 

# 리스트 길이 : 4

>>> arr = [ 1, 2, 3, 4 ]
>>> print(len(arr))
4
>>>     

 

# 비교 언어적 특성

1) C언어의 경우 :

sizeof 연산자 사용. 컴파일 시점에 타입이나 변수의 크기를 바이트 단위로 반환.

 

2) C언어 예제 1 : int형의 크기

int a = 10;

printf("%zu\n", sizeof(a));    // int 변수의 크기

printf("%zu\n", sizeof(int));    // int 타입의 크기. int 자료형 자체의 크기. C언어 규약을 말함.

 

3) C언어 예제 2 : 배열의 길이 - 배열 전체 크기를 요소 하나의 크기로 나누어 계산

int arr[5];

printf("%zu\n", sizeof(arr) / sizeof(arr[0]));    // 배열 길이 : 5

.
.
.tbc.







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

Python 3D - Panda3D SDK(v1.10.15) 설치 및 테스트  (0) 2025.12.20
SR 만들기 - 002  (0) 2025.11.15
Python Intro. - 001  (0) 2025.11.02
Hex File Viewer 연습 - 001  (0) 2025.10.28
신생 언어 Mojo 소개 - 001  (0) 2025.10.06