-
카테고리
-
세부 분야
데이터 엔지니어링
-
해결 여부
미해결
yield
20.10.10 15:40 작성 조회수 177
0
yield 키워드를 return 키워드 대신에 사용하는 이유가 궁금합니다!
return 으로 해보면 Request object is not iterable 이라고 뜨는데
제네레이터인 함수한테는 return 키워드를 아예 사용할 수 없는건가요?
답변을 작성해보세요.
0
잔재미코딩 DaveLee
지식공유자2020.10.11
안녕하세요.
기본적으로 프레임워크에서는 특유의 코드 작성 방법을 가이드하는 경우가 많고요. 해당 가이드에 맞춰서 작성하지 않으면, 프레임워크 내부의 코드와 약속한대로 동작하지 않기 때문에 에러가 납니다.
기본적으로는 함수를 어떻게 만드느냐에 따라, yield 를 쓰든, return 을 쓸 수 있는 것은 맞습니다.
물론, 동작은 다르겠죠. yield 는 return과 비슷하지만 결과를 리턴하고 종료하지 않고 계속 실행하게 하고요. return 은 결과를 리턴하고 해당 함수를 종료하죠. 그런데, scrapy 프레임워크에서 해당 함수에서는 yield 를 써서, 반복적으로 해당 함수를 실행하도록 만들었고, 그렇게 쓰라고 가이드를 했기 때문에, 해당 코드에서 return 을 써서는 안되는 것이라고 생각해주시면 괜찮을 것 같습니다.
감사합니다.
답변 1