[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보다 큰 짝수만 출력합니다.
결론
제너레이터 객체는 반복적인 데이터 생성에 유용하며, 조건문과 함께 사용할 때 코드를 더욱 간결하고 가독성 있게 만들어줍니다.
제너레이터를 조건문과 결합하여 사용하는 것은 파이썬의 강력한 기능 중 하나이므로, 적극적으로 활용하는 것이 좋습니다.