pbj0812의 코딩 일기

[PYTHON] yield 실습하기 본문

ComputerLanguage_Program/PYTHON

[PYTHON] yield 실습하기

pbj0812 2020. 5. 25. 23:40

0. 목표

 - yield의 사용법을 알아보고 for 와의 차이점을 파악

1. 실습

 1) for 실습

  (1) 함수 생성

def for_generator():
    for i in range(5):
        return i

  (2) 확인

a = for_generator()
print(a)

   - 결과

0

 2) yield 실습

  (1) 함수 생성

def yield_generator():
    for i in range(5):
        yield i

  (2) 확인

a = yield_generator()
print(a)

   - 결과(제너레이터가 생성됨)

<generator object yield_generator at 0x111273e50>

  (3) 제너레이터 사용

for i in a:
    print(i)

   - 결과

   * a 같은 인스턴스를 생성해서 사용할 경우 한번 사용하면 사용하지 못함(같은 코드를 한번 더 실행하면 아무것도 출력되지 않음)

   * 인스턴스를 생성하지 않고 yield_generator()를 사용하면 계속 실행 됨

0
1
2
3
4

2. 참고

 - python의 yield 키워드 알아보기

Comments