
불변성 자료형 (Innutable)
순서가 있고, 중복이 안됨, 요소의 추가와 삭제는 가능하다
다만 불변성 특성으로 인해 - 변경이 불가능하다
변경을 시키고 싶지 않는 데이터면 튜플을 사용하면 된다.
다양한 타입의 요소를 포함시킬 수 있다.(str,int,list,dict...)
패킹, 언패킹을 사용 가능하다
temp = (1,2,3)
print(temp)
# 출력
print(temp)
temp_list = dict(item='coke',
price=1000,
quantity=10
)
# get 출력 , 값이 없을떄는 None 으로 출력된다
print(temp_list.get('item'))
print(temp[0]) # 1
print(temp[-1]) # 3
tuple_temp2 = (1,)
print(tuple_temp2)
tuple_test = (100,200,300,('User','Member','dict'))
print(tuple_test)
tuple_slicing = (1,2,3,4,5,6)
print(tuple_slicing[0:3]) # 1,2,3
print(tuple_slicing[3:]) # 4,5,6
tuple_calculation = (1,2,3,4,5,6)
print(tuple_calculation[0] + tuple_calculation[1]) # 1 + 2
print(tuple_calculation[0] + tuple_calculation[3] + tuple_calculation[5]) # 1 + 4 + 6
tuple_index = (9,8,7,6,5,4,3,2,1)
print(tuple_index.index(4)) # 5번째에 위치해 있다 (튜플은 순서가 있다)
print(tuple_index.count(7)) # 7이 몇개가 있지?
# 간단한 튜플 패킹 - 괄호없이도 튜플을 선언 가능
tuple_temp = 1,2,3,4
print(tuple_temp)
# 함수를 이용한 튜플 패킹
def pack_args(*args):
print(args)
pack_args(1, 2, 3, 4, 5) # 출력: (1, 2, 3, 4, 5)
def unpack_args(a, b, c):
print(a, b, c)
args = (1, 2, 3)
unpack_args(*args) # 출력: 1 2 3
# **kwargs 패킹
# **kwargs - 키워드 인자를 여러개 받을때 사용
def pack_kwargs(**kwargs):
print(kwargs)
pack_kwargs(name='John', age=25, country='USA') # 출력: {'name': 'John', 'age': 25, 'country': 'USA'}
# **kwargs 언패킹
def unpack_kwargs(name, age, country):
print(name, age, country)
kwargs = {'name': 'John', 'age': 25, 'country': 'USA'}
unpack_kwargs(**kwargs) # 출력: John 25 USA