[python] 조건문에서의 제너레이터 객체 사용하기

파이썬에서 조건문을 사용할 때 제너레이터(generator) 객체를 활용하면 코드를 더욱 간결하고 효율적으로 작성할 수 있습니다. 이 블로그 글에서는 제너레이터 객체가 어떻게 조건문에서 사용되는지에 대해 알아보겠습니다.

제너레이터(generator)란?

제너레이터(generator)는 반복 가능한 객체(iterable)를 생성하는 함수입니다. 일반 함수와 달리 return 대신 yield를 사용하여 값을 반환하며, 호출 상태를 보존한 채로 값을 순차적으로 생성합니다.

제너레이터는 대용량 데이터나 연속된 데이터를 다룰 때 우수한 선택지입니다. 메모리를 효율적으로 활용할 수 있기 때문에 더 빠르고 경제적입니다.

def even_numbers(n):
    for i in range(n):
        if i % 2 == 0:
            yield i

위 코드는 0부터 n까지의 짝수를 생성하는 제너레이터 함수입니다.

제너레이터 객체의 활용

제너레이터 객체를 활용하면 메모리를 효율적으로 사용하면서도 간결한 코드를 작성할 수 있습니다. 아래 예제에서는 제너레이터 객체를 조건문과 함께 사용하는 방법을 살펴봅니다.

values = even_numbers(10)
for num in values:
    if num > 4:
        print(num)

위 코드에서 even_numbers 함수가 제너레이터를 반환하고, 이를 조건문과 함께 활용하여 4보다 큰 짝수만 출력합니다.

결론

제너레이터 객체는 반복적인 데이터 생성에 유용하며, 조건문과 함께 사용할 때 코드를 더욱 간결하고 가독성 있게 만들어줍니다.

제너레이터를 조건문과 결합하여 사용하는 것은 파이썬의 강력한 기능 중 하나이므로, 적극적으로 활용하는 것이 좋습니다.