인프런 커뮤니티 질문&답변
generator 예제 2번 질문입니다
작성
·
182
0
def generator_ex1():
print('Start')
yield 'A point'
print('Continue')
yield 'B point'
print('End')
다음과 같이 코드 작성 후
temp2 = [x * 3 for x in generator_ex1()]
리스트 컴프리헨션을 실행하니
Start
Continue
End
라는 결과가 나왔습니다. 리스트 컴프리헨션 안의 generator_ex1()을 실행하면서 나온 결과라고 생각하는데요,
반면 위의 리스트 컴프리헨션을 지운 후
temp3 = (x * 3 for x in generator_ex1())
다음과 같이 제너레이터 익스프레션 실행을 하여도 아무런 결과값이 나오지 않았습니다. 표현식 안의 generator_ex1()이 실행되지 않은 것으로 보이는데, 두 과정 사이에 어떤 차이가 있는 것인지 궁금합니다





