1. 튜플 : 리스트와 비슷한 자료형, (데이터, 데이터, 데이터, 데이터)
a. 한 번 결정된 요소는 바꿀 수 없다.
b. 요소를 하나만 가지는 튜풀이라면 쉼표를 넣어 선언 ex. tuple_a=(273,)
c. 괄호 없는 튜플 : 괄호를 생략해도 튜플로 인식할 수 있음. 키값에만 가로를 해도 ㄱㄴ
#괄호가 없는 튜플
tuple_test = 10,20,30,40
print("#괄호가 없는 튜플의 값과 자료형 출력")
print("tuple_test:", tuple_test)
print("type(tuple_test):", type(tuple_test))
print()
#괄호가 없는 튜플 활용
a, b, c = 10, 20, 30
print("#괄호가 없는 튜플을 활용한 할당")
print("a:",a)
print("b:",b)
print("c:",c)
print(type((a,b,c)))
print(type((a,)))
#한쪽에만 괄호가 있는 튜플
i,j,k = (10,20,30)
print("i:",i, "j:",j, "k:",k)
d. 변수의 값을 교환하는 튜플
▶ 주소값이 바뀌어서 불러오는 것.
a, b = 10,20
print("#교환 전 값")
print("a:",a)
print("b:",b)
print()
#값을 교환합니다.
a,b = b,a
print("#교환 후 값")
print("a:",a)
print("b:",b)
print()
print("")
a,b,c = 100,b,b
print(a,b,c,)
>>>> 이거는 그냥 값을 할당하는 것이고 튜플은 아님.
e. 튜플과 함수 : 튜플도 +와 *등의 연사자 등을 활용가능 (리스트와 동일하게)
▶ 값을 변경하는 함수들은 어렵 ex. append() 같은... 그러다보니 리스트가 더 자주쓰이긴함
#함수 선언
def test():
return 10,20,30
#여러 개의 값을 리턴받기
a, b, c = test()
c = test()
#출력
print("a:",a)
print("b:",b)
print("c:",c)
▶ 값을 3개주면(10,20,30) 줘야하는 애가 3개 있어야함(a,b,c)
▷ 하나씩 벗겨서(unpacking) 하나씩 할당해준다
▶enumberate()함수는 (인덱스, 요소값)과 같이 튜플형태로 반환해준다
▶ 여기서는 (i,v) 형태로 원래 되어있는거임. = 괄호 없는 튜플
▶divmod()함수는 몫과 나머지를 튜플형태로 반환해줌
▶divmod()함수는 튜플을 리턴하는 대표적인 함수
enumerate() 함수 / items() 함수도 똑같음