혼공학습단/혼자 공부하는 파이썬

[혼공학습단 파이썬] #5-3. 함수 고급 (튜플, 람다, 파일 처리, 제너레이터)

✨️데이터분석가✨️ 2023. 7. 31. 00:37
728x90
728x90
5. 함수
    3) 함수 고급
         (1) 튜플
         (2) 람다

         (3) 파일 처리
         (4) 제너레이터
 

 

3) 함수 고급

 

(1) 튜플 (tuple)

- 리스트와 비슷한 자료형으로 보통 함수와 함께 사용함

리스트 튜플
[, , , ... ]
선언한 값을 변경할 수 있음
딕셔너리로 사용할 수 없음
(, , , ... )
선언한 값을 변경할 수 없음
딕셔너리로 사용할 수 있음

- 괄호 없이 사용할 수 있음

- 한 번에 여러 개를 할당, 교환(스왑), 리턴할 수 있음

- divmod 함수로 몫과 나머지를 한 번에 계산할 수 있음

- 요소가 하나일 경우, 요소 뒤에 컴마(,)를 작성해야 튜플로 인식함 

- 튜플은 딕셔너리로 사용할 수 있음 (리스트는 사용 불가)

튜플 특징
튜플 특징

 

 

 

(2) 람다 (lambda)

- 함수를 짧게 사용하는 함수, lambda 매개변수: 리턴값

- 콜백함수(callback): 함수의 매개변수에 사용하는 함수

콜백함수, 람다
콜백함수, 람다

 

 

- 표준함수: 파이썬에서 표준으로 제공하는 함수 (예, map( ), filter( ) )

map( ): 기존의 리스트를 기반으로 새로운 리스트를 구성해주는 함수, map(함수, 리스트)

  - 제곱 10개 구하기

map( ) 함수
map( ) 함수
map( ) 연습문제
map( ) 연습문제

 

 

filter( ): 새로운 리스트를 구성해주는 함수, filter(함수리스트)

  - 짝수 50까지 구하기

filter( ) 함수
filter( ) 함수
filter( ) 연습문제
filter( ) 연습문제

 

 

※ 리스트 내포

- 리스트 내포는 용량을 많이 차지하지만, 컴퓨터가 감당할 수 있는 수준이라 간단한 리스트 내포 함수를 추천함

리스트 내포 함수

 

 

 

(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(): 제너레이터 객체를 리턴하는 함수

제너레이터
제너레이터

 

 

 

728x90
728x90