# 튜플 타입
# 객체의 리스트를 저장 / ( )또는 tuple() python 내장함수 이용
# 순서 있는 / 변경 불가능한 데이터 타입
# 함수의 인자, 리턴에 주로 사용

my_t = (10, 20, 30, 40)
print(my_t)
print(type(my_t))
print(my_t[0])
print(my_t[0:2:1])
# my_t[0] = 100    # 수정 불가능하다

# 튜플은 패킹/언패킹 문법적요소를 가지고 있다
# 정수 객체 여러 개를 한꺼번에 선언한다
a, b, c = 10, 20, 30
print(a, b, c)

# 패킹 : 정수 선언 시 자동적으로 튜플로 변환시켜주는 것
my_t2 = (100, 200, 300, 400)
a1 = 100, 200, 300    # 원랜 3개의 정수에 해당하는 정수 변수가 존재해야하는데 없다
# a1 = (100, 200, 300)    # 이런 식으로 자동적으로 변환된다.

# 언패킹 : 패킹 -> 정수
a2, b2, c2 = (10, 20, 30)    # 자동적으로 괄호를 해제한다

# 리스트 값으로 튜플이 구성될 수 있다.
test = [10, (10, "aa")]
print(test[0])
print(test[1])
print(test[1][0])