위키북스 박응용 저 "점프 투 파이썬" 책을 읽고 정리한 내용입니다.
다소 잘못된 내용과 구어적 표현 이 포함되어 있을 수 있습니다.
튜플은 리스트의 불변객체 버전이다
- 선언 이후에는 요소 변경 및 삭제가 안된다
a[0] = 2
나del 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)