無限

몸은 현실 마음은 낭만

Develop & Journal

Python

Python Tuple

알파 조 2023. 1. 19. 22:39
728x90
반응형
SMALL

튜플(tuple)

튜플은 시퀀스 타입의 한 종류입니다. 
튜플은 앞서 배운 리스트와 아주 유사합니다. 
단, 몇 가지 큰 차이점이 있습니다. 

1. 리스트를 선언 할때 [ ] 를 사용하여 선언해 줍니다. 튜플은 ( ) 을 사용하여 선언해 줍니다.
2. 리스트는 요소 값의 생성, 삭제, 수정이 가능하지만 튜플은 요소 값을 바꿀 수 없다.

튜플은 시퀀스 타입의 한 종류입니다. 
튜플은 앞서 배운 리스트와 아주 유사합니다. 
단, 몇 가지 큰 차이점이 있습니다. 

 

 

1. 튜플 선언

다음은 튜플은 선언해주는 코드입니다.
다음 처럼 ( ) 을 이용해서 선언을 해줄 수 있습니다.

# Can also mix object types
t = ('one',2)
# Show
t
('one', 2)

리스트와 동일하게 인덱싱을 통해 접근할 수도 있습니다.

# Use indexing just like we did in lists
t[0]
'one'

튜플은 인덱싱 이외에도 슬라이싱, 튜플 곱하기, 튜플 더하기, 튜플 길이구하기 등 튜플 내부의 객체에 직접적인 변화를 주는 것이 아니면 리스트와 동일하게 사용이 가능하다

 

2. 튜플의 불변성

불변성 때문에 튜플은 성장할 수 없습니다. 일단 튜플이 만들어지면 추가 할 수 없습니다.

t[0]= 'change'
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-8-1257c0aa9edd> in <module>()
----> 1 t[0]= 'change'

TypeError: 'tuple' object does not support item assignment
t.append('nope')
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-9-b75f5b09ac19> in <module>()
----> 1 t.append('nope')

AttributeError: 'tuple' object has no attribute 'append'

 

3. 튜플을 사용하는 경우

사용 가능한 메서드가 적은데 튜플을 사용하는 이유는 무엇입니까? 솔직히 말해서 튜플은 프로그래밍에서 리스트만큼 자주 사용되지는 않지만 불변성이 필요할 때 사용됩니다. 프로그램에서 객체를 전달하고 객체가 변경되지 않도록 해야 하는 경우 튜플이 해결책이 됩니다.(EX. 달력)

반응형
LIST

'Python' 카테고리의 다른 글

Python Loops  (0) 2023.01.20
Python Conditional Satement  (0) 2023.01.20
Python List  (0) 2023.01.19
Python Strings  (0) 2023.01.19
Pyton 객체와 데이터 구조 기초  (0) 2023.01.18