본문 바로가기
  • 기억보단 기록을..
Python

[Python] Coroutine 이해하기 ( + yield )

by reine94._.dev 2021. 1. 11.

Coroutine

비동기 프로그래밍


 

def number_coroutine():
    while True:        # 코루틴을 계속 유지하기 위해 무한 루프 사용
        x = (yield)    # 코루틴 바깥에서 값을 받아옴, yield를 괄호로 묶어야 함
        print(x)
 
co = number_coroutine()
next(co)      # 코루틴 안의 yield까지 코드 실행(최초 실행) while 진입하고 대기
 
co.send(1)    # 코루틴에 숫자 1을 보냄
co.send(2)    # 코루틴에 숫자 2을 보냄
co.send(3)    # 코루틴에 숫자 3을 보냄

실행결과

1
2
3

 

 

참고블로그

코딩도장- 코루틴 이해하기

 

파이썬 코딩 도장: 41.1 코루틴에 값 보내기

Unit 41. 코루틴 사용하기 지금까지 함수를 호출한 뒤 함수가 끝나면 현재 코드로 다시 돌아왔습니다. 예를 들어서 다음과 같이 calc 함수 안에서 add 함수를 호출했을 때 add 함수가 끝나면 다시 calc

dojang.io

비동기적으로 python 다루기

 

비동기적으로 Python 다루기

0. 안녕, 비동기!Python으로 동시다발적 HTTP 요청을 보내는 작업을 해야할 필요가 생겼습니다. Python 3에서 asynchronous한 작업을 처리하기가 수월해졌다는 이야기를 어디서 들은 것 같아서 구글링을

hwangheek.github.io

Python 비동기 프로그래밍 제대로 이해하기(1/2) - Asyncio, Coroutine

 

Python 비동기 프로그래밍 제대로 이해하기(1/2) - Asyncio, Coroutine

Python2 와 비교하여 python3의 가장 돋보이는 killer feature 는 비동기 프로그래밍 지원이라고 할 수 있다. 이를 위하여 python 3.4에 asyncio 모듈이 추가되었고, python 3.5 에는 native coroutine 지원을 위한 async

blog.humminglab.io

 

댓글