제너레이터란?

  • 지연 평가 구현체(lazy evaluation) 즉, 값이 필요할 때 계산해주는 객체이다.
  • 파이썬의 모든 지연 평가 구현체(lazy evaluation)는 이터레이터라고 한다.
  • 이터레이터를 만드는 도구이다.
  • 데이터 변환시 return이 아닌 yield를 사용한다.
  • 컴프리헨션을 괄호에 넣어 생성한다.
  • for in 이나 next( ) 호출로만 접근 할 수 있다.

 

 

제너레이터 사용법 

    1.for in

lyrics = ['멋대로', '낸', '편견은', '토할', '거', '같지']

gen = ('*'+i for i in lyrics)  #여기를 ( )로 닫아주면 제너레이터로 인식

for g in gen:
    print(g)

    2.yield : 함수 안에 yield를 사용하면 제너레이터로 인식한다.

def gen():
    yield '원하면'
    yield '감히'
    yield '뛰어들어'


for i in gen():
    print(i)

 

https://winterakoon.tistory.com/63

 

컴프리헨션(Comprehension)

컴프리헨션이란? 압축해서 한 줄 짜리 코드로 만드는 것인데 이유는 이것이 더 직관적이고 속도가 빠르기 때문이다. 컴프리헨션에는 리스트, 딕셔너리, 셋(튜플) 형태가 있다. 1. 기본 형태 : 리

winterakoon.tistory.com

 

https://winterakoon.tistory.com/64

 

이터레이터(Iterator)

이터레이터 특징 반복 가능한 객체(iterable)를 반복시키는 객체를 말한다. next( ) 함수 호출 시 순서대로 다음 값을 리턴할 수 있는 객체이다. iterable 객체의 길이를 초과하여 next( ) 함수로 이터레

winterakoon.tistory.com

 

+ Recent posts