위키북스 박응용 저 "점프 투 파이썬" 책을 읽고 정리한 내용입니다.

다소 잘못된 내용과 구어적 표현 이 포함되어 있을 수 있습니다.

튜플은 리스트의 불변객체 버전이다

  • 선언 이후에는 요소 변경 및 삭제가 안된다
    • a[0] = 2del a[0] 등의 연산은 안된다 이말이다
  • 어차피 불변객체이므로 참조복사밖에 안된다
    • = 연산을 하든 copy() 를 쓰든 tuple() 로 새로 만들든 내용이 같기때문에 참조복사밖에 안된다.
  • ++= 연산은 요소 추가를 하는것 같지만 사실 새로 만드는거다
    • 리스트의 경우에는 +, += 연산을 해도 주소값이 바뀌지 않지만 튜플은 새로 객체를 하나 반들어서 반환하기 때문에 주소값이 달라진다.

선언

(1, 2, 3)
(1, )
1, 2, 3
  • 튜플은 () 로 선언하며 괄호가 없어도 튜플로 선언된다
  • 튜플은 요소가 한개여도 콤마를 찍어줘야 한다
  • a, b = 1, 2 : 여러개의 변수를 선언 및 초기화할때 이렇게 튜플을 이용해주면 편하다
  • a, b = b, a : 변수 두개의 값을 맞교환할때 제3의 변수를 안쓰고 이렇게 단순하게 하는것이 가능하다

생성자

a = tuple()
a = tuple(iterable)
  • 인자를 안주면 빈 튜플을 반환하고
  • 반복 가능한 객체를 인자로 주면 해당 객체의 내용을 튜플로 변환하여 반환한다

인덱스 접근

tpl[int]

덧셈

(1, 2, 3) + (4, 5, 6)
  • 결과는 (1, 2, 3, 4, 5, 6) 이다
  • 튜플은 불변객체이기 때문에 덧셈의 결과는 새로운 객체로 생성된다.

슬라이싱

tpl[1:20:2]
  • 인덱스 1부터 19까지 인덱스 2씩 증가하며 슬라이싱

곱셈

(1, 2, 3) * 3
  • 결과는 (1, 2, 3, 1, 2, 3, 1, 2, 3) 이다

길이구하기

len(tpl)