일반적인 함수는 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를 사용할 수 있다.
그리고 제네레이터는 사용되기 전까지 연산되지 않는다.
'자료구조' 카테고리의 다른 글
7주차, 시간복잡도 (0) | 2022.02.02 |
---|---|
7주차, 자료구조 개념, 빅오 표기법 (0) | 2022.02.02 |
6주차, 파이썬으로 sort 구현 (0) | 2022.01.24 |
6주차, 파이썬으로 팩토리얼 구하기 (0) | 2022.01.24 |
5주차 4, 중첩함수와 적용되는 지역변수 (0) | 2022.01.19 |
댓글