반응형

코루틴 2

파이썬 asyncio로 배우는 비동기 I/O 코루틴과 이벤트 루프 이해하기 - 고급 Python #8

비동기 프로그래밍이란, 어떤 함수를 호출할 때 해당 함수가 즉시 응답을 반환하지 않더라도 프로그램이 계속해서 다른 작업을 진행할 수 있도록 하는 방식을 말합니다. 오늘은 비동기 프로그래밍에 대해 조금 더 깊이 있게 살펴보려 합니다.  파이썬 asyncio로 배우는 비동기 프로그래밍   이벤트 루프와 코루틴이벤트 루프(Event Loop)의 동작 원리asyncio에서 가장 중요한 개념은 이벤트 루프죠. 이벤트 루프는 말 그대로 “이벤트가 발생하기를 기다렸다가, 발생하면 적절한 콜백(callback)을 실행하는” 메커니즘입니다. 사실 이 개념은 자바스크립트의 비동기 모델이나 다른 언어에서도 흔히 볼 수 있는데요, 이벤트 루프는 파이썬 프로그램에서 코루틴으로 정의된 함수들을 스케줄링하고, 각 코루틴이 I/O를..

파이썬 제너레이터와 이터레이터 효율적인 대용량 데이터 처리와 메모리 최적화 - 고급 Python #3

이번에는 파이썬의 제너레이터와 이터레이터라는 주제를 다뤄보겠습니다. 고급 파이썬의 내용으로 조금 더 높은 스킬을 얻기를 원하신다면 이 부분 역시 천천히 읽어 보시면 도움이 되실 거예요.파이썬 제너레이터와 이터레이터  커스텀 이터레이터 만들기이터레이터는 단순히 for 루프에서 사용되는 객체가 아닙니다. 이터레이터를 직접 만들어 사용하면, 복잡한 로직을 간결하게 표현할 수 있죠. 커스텀 이터레이터를 만들기 위해서는 __iter__와 __next__ 메서드를 구현해야 합니다. 예를 들어, 피보나치수열을 생성하는 이터레이터를 만들어 볼까요? class Fibonacci: def __init__(self, limit): self.limit = limit self.a, self.b = 0, 1 ..

반응형