[python 기초] 튜플(tuple)

cosmos-JJ·2023년 11월 6일
0

Python

목록 보기
9/11

튜플

튜플(tuple)은 리스트와 비슷한 자료형이며, 리스트와 다른 점은 한번 결정된 요소는 바꿀 수 없다는 것이다.

📌 튜플 생성 방법

tuple_test = (10, 20, 30)

tuple_test[0]
# 10

tuple_test[1]
# 20

tuple_test[:]
# (10, 20, 30)

type(tuple_test)
# tuple

위의 코드와 같이 튜플은 (,) 소괄호를 통해 선언 하며, 리스트와 같이 인덱싱, 슬라이딩 모두 가능 하다.
소괄호를 사용하여 요소를 넣은 변수를type() 함수를 사용하여 확인했을 때 tuple이 나오는 것으로 tuple_test는 튜플이라는 자료형이라는 것을 알 수 있다.


📌 튜플 내부 요소 변경

tuple_test = (10, 20, 30)

tuple_test[0] = 1

tuple_test의 0번 째 요소를 1로 바꾸려고 하면 위와 같이 TypeError가 발생하게 된다.
튜플은 수정, 삽입, 삭제가 불가하다. (한번 결정된 요소는 변경 불가)

📌 요소를 하나만 가지는 튜플

요소를 하나만 가지는 튜플은 어떻게 만들까?

tuple_test = (10)
type(tuple_test)
# int

tuple_test = (10,)
type(tuple_test)
# tuple

위의 코드에서 보면 (10)을 tuple_test에 넣었을 때 타입을 보면 int형이 나온다.
즉 10이라는 숫자에 괄호를 감싼 것으로 인식한다는 것이다.
그렇기에 요소를 하나만 가지는 튜플을 만들기 위해서는 (10,)과 같이 쉼표를 함께 넣어서 선언해야한다.

❗ 요소를 하나만 가지는 튜플은 많이 사용하나 잊기 쉬운 내용으로 꼭 기억하자

📌 괄호 없는 튜플

튜플을 사용하는 이유는 외관이 간단하고 요소를 변경할 수 없는 것으로 구분할 수 있다.
이 중 튜플의 외관이 간단하다고 말할 수 있는 이유는 튜플을 선언할 때 괄호를 생략할 수 있는 상황에서는 괄호 생략이 가능하기 때문이다.

  • 튜플의 다중 할당 구문

파이썬에는 [a, b] = [10, 20] 과 같이 a와 b에 10과 20을 각각 할당해주는 다중 할당 구문이라는 문법이 있다.

# 튜플로 a,b에 10,20 할당 
(a, b) = (10, 20)
print(a,b)
# 10 20 

# 튜플의 특징인 괄호 생략
a,b = 10, 20
print(a,b)
# 10 20

a,b = 10, 20같은 코드는 파이썬에서 자주 사용되는 구문으로 튜플을 기반으로 작성된 코드라고 할 수 있다.

  • 여러 개의 값 리턴
def tuple_test():
    return (10, 20, 30)

a, b, c = tuple_test()
print(a,b,c,)
# 10 20 30 

-------------------------- 동일한 결과값
def tuple_test():
    # 튜플의 괄호 생략
    return 10, 20, 30

a, b, c = tuple_test()
print(a,b,c,)
# 10 20 30 

참고

  • 혼자 공부하는 파이썬 (윤인성 지음)
profile
🤍도전하는 건 즐거워요🤍

0개의 댓글