5. 함수
3) 함수 고급
(1) 튜플
(2) 람다
(3) 파일 처리
(4) 제너레이터
3) 함수 고급
(1) 튜플 (tuple)
- 리스트와 비슷한 자료형으로 보통 함수와 함께 사용함
리스트 | 튜플 |
[값, 값, 값, ... ] 선언한 값을 변경할 수 있음 딕셔너리로 사용할 수 없음 |
(값, 값, 값, ... ) 선언한 값을 변경할 수 없음 딕셔너리로 사용할 수 있음 |
- 괄호 없이 사용할 수 있음
- 한 번에 여러 개를 할당, 교환(스왑), 리턴할 수 있음
- divmod 함수로 몫과 나머지를 한 번에 계산할 수 있음
- 요소가 하나일 경우, 요소 뒤에 컴마(,)를 작성해야 튜플로 인식함
- 튜플은 딕셔너리로 사용할 수 있음 (리스트는 사용 불가)
(2) 람다 (lambda)
- 함수를 짧게 사용하는 함수, lambda 매개변수: 리턴값
- 콜백함수(callback): 함수의 매개변수에 사용하는 함수
- 표준함수: 파이썬에서 표준으로 제공하는 함수 (예, map( ), filter( ) )
① map( ): 기존의 리스트를 기반으로 새로운 리스트를 구성해주는 함수, map(함수, 리스트)
- 제곱 10개 구하기
② filter( ): 새로운 리스트를 구성해주는 함수, filter(함수, 리스트)
- 짝수 50까지 구하기
※ 리스트 내포
- 리스트 내포는 용량을 많이 차지하지만, 컴퓨터가 감당할 수 있는 수준이라 간단한 리스트 내포 함수를 추천함
(3) 파일 처리
텍스트 파일 | 바이너리 파일 |
텍스트에디터로 열 수 있음 | 텍스트에디터로 열 수 없음 (이미지, 동영상, 워드, 엑셀, PDF 등) |
파일 쓰기, w | 파일 수정, a | 파일 읽기, r |
새로 쓰기, write | 뒤에 이어서 쓰기, append | 읽기, read |
file = open("파일명", "w") file.write("내용") file.close() |
file = open("파일명", "a") file.write("내용") file.close() |
file = open("파일명", "r") print(file.read()) file.close() |
with open("파일명", "w") as file: file.write("내용") |
with open("파일명", "a") as file: file.write("내용") |
with open("파일명", "r") as file: print(file.read()) |
- with 구문: close()를 작성하지 않는 실수를 방지해주는 키워드
(4) 제너레이터
- 이터레이터를 직접 만들 때 사용하는 구문으로 용량을 적게 차지함
- 함수 내부에 yield가 포함되면 해당 함수는 제너레이터가 됨
- yield: yield 뒤의 구문은 실행하지 않는 기능을 함
- next(): 제너레이터 객체를 리턴하는 함수
'혼공학습단 > 혼자 공부하는 파이썬' 카테고리의 다른 글
[혼공학습단 파이썬] #6-2. 예외 고급, Exception (0) | 2023.08.11 |
---|---|
[혼공학습단 파이썬] #6-1. 예외 처리 (0) | 2023.08.07 |
[혼공학습단 파이썬] 10기, 4주차 미션 (0) | 2023.07.30 |
[혼공학습단 파이썬] #5-2. 함수 활용 (재귀 함수, 메모화, 조기 리턴, 평탄화) (0) | 2023.07.28 |
[혼공학습단 파이썬] #5-1. 함수 생성, 가변 매개변수, 기본 매개변수, 리턴 (0) | 2023.07.26 |