값을 하나씩 내보내는 함수를 만들었는데, 호출해도 안에 넣은 print가 안 찍히고 이상한 객체만 나와요.


def pages(total):
print("생성기 시작")
page = 1
while page <= total:
yield page
page += 1

g = pages(3)
print(type(g))


<class 'generator'>


pages(3)을 호출했는데 "생성기 시작"이 안 찍히고, type이 함수가 아니라 generator예요. next()를 한 번 해야 그제서야 print가 나오고요. yield가 들어가면 함수가 아예 다르게 동작하는 건가요?