튜플 (tuple)
- 리스트와 비슷한 자료형으로 한 번 결정된 내부 요소를 변경할 수 없는 자료형
- 함수와 함께 많이 사용
- 튜플의 선언
- 튜플의 선언 (요소가 하나인 경우)
(데이터,)
(데이터)
로 선언하면 데이터를 괄호로 감싼 것으로 인식하기 때문에 주의
- 튜플은 내부 요소 변경이 불가능
- 0번째 요소에 1을 넣으려고 하니 오류가 발생
리스트와 튜플을 사용한 변수 선언과 할당
괄호가 없는 튜플
- 괄호를 생략해도 튜플로 인식할 수 있는 경우 괄호 생략
- 괄호 없이 동시에 여러 값을 변수에 할당
- 튜플의 값을 바꿀 수 없다는 건 요소, 원소의 값을 바꿀 수 없다는 의미임
- 변수의 값 교환하기
- a, b = b, a
- 동시에 일어남
튜플과 함수
- 함수는 한 개의 리턴값만을 리턴
- 튜플을 리턴하여 여러 개의 값을 리턴하는 기능을 구현할 수 있음
튜플을 리턴하는 함수의 예
- enumerate() 함수
- items() 함수
- divmod() 함수
함수의 매개변수로 함수 전달하기
- 콜백 함수 : 함수의 매개변수에 인자로 전달되는 함수
map() 함수
- 리스트의 요소를 함수에 넣고 리턴된 값으로 새로운 리스트를 구성
- 리스트의 요소를 함수에 콜백 함수에 넣어 반환된 값으로 새로운 리스트를 생성하여 반환
filter() 함수
- 리스트의 요소를 함수에 넣고 리턴된 값이 True인 것으로, 새로운 리스트를 구성
- 리스트 요소를 함수에 넣어 반환된 값이 True인 요소로만 리스트를 생성하여 반환
람다 (lambda)
- 간단한 함수를 쉽게 선언하는 방법
- 기능을 매개변수로 전달하는 코드를 더 효율적으로 작성
인라인 람다
- 함수의 인자로 곧바로 람다를 사용
- 가독성이 떨어지긴 함
텍스트 쓰기와 읽기
write() 함수
- 파일에 문자열을 기록하는 함수
read() 함수
- 파일 내부의 모든 문자열을 읽어서 반환하는 함수
CSV 파일
- 텍스트를 사용하여 데이터를 구조적으로 표현하는 방식 중에 하나로써 쉼표로 구분된 값(Comma Separated Values)을 의미
- 한줄에 하나의 데이터를 나타내며 각 줄은 쉼표를 사용해 데이터를 구분함- 한 줄(행)에 하나의 데이터를 입력하며, 각 줄은 쉼표를 사용해 데이터를 구분하여 저장
- 첫 줄에 헤더(header) 넣어 각 데이터가 날 나타내는 바 설명
- 한 번에 모든 데이터를 올려놓고 사용하는 것이 컴퓨터 성능에 영향을 미칠 수
- 램덤하게 1000명의 키와 몸무게 만들기
텍스트 한 줄씩 읽기
스트림 (stream)
- 프로그램이 외부 파일, 외부 네트워크 등과 통신할 때 필요한 데이터가 흐르는 길
- open() 함수
- 프로그램에서 외부 파일로 데이터가 흐르는 길을 생성- close() 함수
- 프로그램에서 외부 파일로 데이터가 흐르는 길을 닫는 것