본문 바로가기

Programming/Python

튜플

튜플은 여러 개의 객체를 모아 담는데 사용한다 ,  튜플은 리스트와 비슷하지만 리스트 클래스에 있는 여러가지 기능이 없다.    

튜플은 수정이 불가능(Immutable)하며 , 그래서 주로 문자열과 같이 비정적인 객체들을 담을 때 사용한다.

튜플은 생략할 수 있는 괄호로 묶인 쉼표로 구분된 여러 개의 항목으로 정의된다.

튜플에 저장된 값들은 수정이 불가능하기 떄문에 , 단순 값들의 목록을 다루는 구문이나 사용자 정의 함수에서 주로 이용된다.

zoo = ("Python","elephant","penguin")
print("Number of animals in the zoos is",len(zoo))

new_zoo = "monkey","camel",zoo
print("Number of cages in the new zoo is",len(new_zoo))
print("All animals in new zoo are",new_zoo)
print("Animals brought from old zoo are",new_zoo[2])
print("Last animal brought from old zoo is",new_zoo[2][2])
print("Number of animals in the new zoo is",\
len(new_zoo)-1 + len(new_zoo[2]))

변수 zoo는 여러 항목들을 담고있는 튜플이다.    보는 바와 같이 len 함수를 통해 튜플의 길이를 알아올 수 있다.
튜플은 열거형의 한 예시 이다.

이제 동물원 안의 동물들을 새로운 동물원으로 옮겨야 한다고 가정해보자.
이를 위해 새로운 동물원 new_zoo 튜플에 원래 있던 동물들과 함께 기존의 동물원에 있던 동물들을 옮겨 온다.
다시 파이썬으로 돌아와서 , 이와 같이 튜플 안에 튜플을 담아도 튜플의 성질을 잃지 않는다.

리스트에서 했던것과 같이 , 튜플안에 있는 항목의 위치를 대괄호로 묶어 지정하면 각 항목에 접근이 가능하다.
이를 인덱싱 연산자라고 부른다.    new_zoo의 세번째 항목에 접근하려면 new_zoo[2]와 같이 표현하며 , 이 세번째 항목은 튜플이므로
이것의 세번째 항목에 접근하려면 new_zoo[2][2]와 같이 표현한다.    익숙해지면 쉬워질 것이다.

빈 튜플은 괄호 안에 아무것도 적지않고 emptytuple=()와 같이 생성할 수 있다.
그러나 , 항목 한개만 담고 있는 튜플을 정의할 때는 주의해야 한다 , 이 경우 첫번쨰 항목의 뒤에 쉼표를 붙여주어 파이썬에게 이것이 숫자연산에 사용되는 괄호가 아니라 객체를 담는 튜플을 의미하는 것이라는것을 구분할 수 있도록 단서를 주어야 한다.
예를들어 , 항목 2를 담고있는 튜플을 정의하려면 singletupe=(2 , ) 와 같이 합니다.



'Programming > Python' 카테고리의 다른 글

열거형  (0) 2017.11.11
사전  (0) 2017.11.11
파이썬의 자료 구조 , 리스트  (0) 2017.11.11
모듈  (0) 2017.11.11
함수  (0) 2017.11.11