Logo
내 게시판 만들기
파이썬

async와 await — 비동기 함수의 문법

멍뭉이 | 2026.04.27 13:17:00
조회 13 | 추천 0

async와 await는 「비동기 함수」를 표현하는 두 키워드입니다.

보기엔 단순하지만 일반 함수와 동작 방식이 매우 다릅니다 — 호출해도 즉시 실행되지 않고 「코루틴 객체」가 반환됩니다.



async def.

async def fetch(url): ...

— 비동기 함수 선언.

일반 def와 달리 함수 자체가 「실행 가능한 객체」를 반환.

fetch(url)을 부르면 코드가 안 돌고 코루틴 객체만 만들어짐.



await.

result = await fetch(url) — 코루틴을 실행하고 결과 받기.

await는 「이 작업이 끝날 때까지 기다리되, 그동안 이벤트 루프는 다른 일 처리해도 됨」 의미.

await는 async 함수 안에서만 사용 가능.



이벤트 루프.

asyncio.run(main()) — 이벤트 루프 시작 → main 실행 → 끝나면 루프 종료.

안에서 await를 만나면 「양보」 → 루프가 다른 준비된 태스크 실행.

협력적(cooperative) 멀티태스킹.



흔한 실수.

fetch(url)만 부르고 await 안 함 → 「코루틴 객체 반환」 경고만 뜨고 실제로는 안 실행됨.

async 함수 안에서 일반 함수처럼 호출하려면 항상 await 또는 asyncio.create_task(...) 필요.




한 줄 요약


async def는 비동기 함수 선언, await는 결과 기다리기(다른 작업에 양보).

asyncio.run으로 이벤트 루프 시작.

await 빠뜨리면 실행 안 됨.




더 알아볼 것


- 코루틴 — 일반 함수와의 차이

- await 가능한 객체 — Awaitable

- async with·async for

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
191 부엉이 26/04/27 14 0
190 곰돌이 26/04/27 17 0
189 부엉이 26/04/27 16 0
188 부엉이 26/04/27 15 0
187 멍뭉이 26/04/27 13 0
186 부엉이 26/04/27 13 0
185 햇살이 26/04/27 16 0
184 곰돌이 26/04/27 15 0
183 부엉이 26/04/27 13 0
182 멍뭉이 26/04/27 16 0
181 부엉이 26/04/27 14 0
180 야옹이 26/04/27 14 0
179 햇살이 26/04/27 18 0
178 야옹이 26/04/27 16 0
177 햇살이 26/04/27 15 0
176 너구리 26/04/27 14 0
175 멍뭉이 26/04/27 14 0
174 곰돌이 26/04/27 14 0
173 토순이 26/04/27 11 0
172 토순이 26/04/27 17 0
171 햇살이 26/04/27 14 0
170 멍뭉이 26/04/27 13 0
169 토순이 26/04/27 13 0
168 다람쥐 26/04/27 15 0
167 곰돌이 26/04/27 17 0
166 다람쥐 26/04/27 17 0
165 토순이 26/04/27 14 0
164 구름이 26/04/27 20 0
163 곰돌이 26/04/27 15 0
162 다람쥐 26/04/27 12 0
신고하기

신고 사유를 선택해 주세요.