예제: 이동 평균을 계산하는 코루틴

매일 공부(ML)·2023년 4월 25일
0

Fluent Python

목록 보기
115/130

제어 흐름

코루틴

예제: 이동 평균을 계산하는 코루틴

클러저를 생성한 후 total과 count를 변수를 보존하는 고급함수

def averager():
	total = 0.0
    count = 0
    average = None
    while = True
    	term = yield average
        total += term
        count += 1
        average = total/count

코루틴을 사용 시, total과 count를 지역변수로 사용할 수 있고, 객체 속성이나 별도의 클로저없이 평균을 구한느데 필요한 값들을 유지할 수 있다.


#이동 평균 코루틴에 대한 doctest

coro_avg = averager()
next(coro_avg)
coro_avg.send(10)
profile
성장을 도울 아카이빙 블로그

0개의 댓글