반응형


1. 튜플의 연산

- 튜플은 임의의 객체의 순서를 가지는 모음으로 리스트와 유사한 면이 많다. 차이점은 변경 불가능 형이라는 것이다. 또한 튜플은 리스트가 가지고 있는 것과 같은 메소드를 쓰지 않는다. 튜플은  시퀀스 형이므로 시퀀스 형이 가지는 일반적인 연산을 모두 가진다. (인덱싱, 슬라이싱, 연결, 반복, 길이 연산 등) 튜플은 ()로 표현한다.

 

아래의 문법은 모두 튜플이다.

>>>t =()

>>>t=(1,2,3)

>>>t=1,2,3

>>>r=(1,)

>>>r=1,

 

튜플은 중복과 좌우변 복수개의 자료를 치환할 수 있다.

>>>t=(12345, 54321, 'hello!')

>>>u=t,(1,2,3,4,5)

>>u

((12345, 54321, 'hello!'),(1,2,3,4,5))

>>>x=1

>>>y=2

>>>x,y = y,x

>>>x,y

(2,1)

 

 

2. 패킹과 언패킹

t=1,2,'hello!'

x,y,z=t

a=['foo','bar',4,5]

[x,y,z,w] = a

 

 

3. 리스트와의 공통점과 차이점

 

3-1. 공통점

 - 임의의 객체를 저장할 수 있다는 것과 시퀀스 자료형이라는 것

 - 인덱싱,슬라이싱,연결,반복지원

3-2. 차이점

- 문자열과 같은 변경불가능 시퀀스형(튜플의 한 요소의 값을 인덱스 참조로 바꿀 수 없다.) 따라서, 튜플 아이템을 변경하려면 슬라이싱과 연결(Concate-nation)을 이용해야 한다.

- 메소드를 가지지 않는다.

- 튜플은 포맷 문자열 지원(문자열 부분 참조), 함수 호출시 가변 인수 지원 기능 등이 있다.

 

튜플과 리스트는 상호변환이 가능하다.

>>>T=(1,2,3,4,5)

>>>L=list(T)

>>>L[0]=100

>>>L

[100,2,3,4,5]

>>>T=tuple(L)

>>>T

(100,2,3,4,5)

 

4. 튜플을 사용하는 경우

 - 함수에 있어서 하나 이상의 값을 리턴하는 경우

 - 문자열 포매팅

 - 튜플에 있는 값들을 함수 인수로 사용할 때

 - 그 이외에 고정된 값을 표현하기 위하여 튜플을 사용한다.

 

5. 경로명 다루기

 os.path 모듈의 경로명(pathname)을 다루는 함수(split)가 튜플을 사용한다. 

 

6. url 다루기

urlparse(), urlunparse(), urljoin() 

반응형

+ Recent posts