본문 바로가기
자료구조

5주차 3, generator와 yield

by 호놀롤루 2022. 1. 19.

일반적인 함수는 return값이 하나다.

하지만 제네레이터와 yield를 사용하면 여러가지의 반환을 기록하고 원할 때

사용하는 것이 가능하다.

 

def gen(n):
    while n>0:
        yield n
        n -= 1

gen(10)

결과

<generator object gen at 0x7fc578039ac0>

list(gen(10))

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

그냥 사용할 경우 제네레이터 객체로 반환되지만, 리스트등 연산을 사용하면 각 결과값을 담은

yield를 사용할 수 있다.

그리고 제네레이터는 사용되기 전까지 연산되지 않는다.

댓글