[Python] Syntax | 01. yield
·
Language/Python
yield는 return과 동작이 유사하지만, 값을 반환한 뒤 함수의 상태(변수, 실행 위치 등)를 그대로 일시정지 시킵니다.같은 함수가 다시 호출된다면, 처음부터가 아닌 멈췄던 부분부터 다시 실행됩니다.def func(n): for i in n: yield i # i를 반환하고 종료(하지만 어디까지 순회했는지 기억함)gen = func(['a', 'b', 'c'])print(next(gen)) # 첫 번째 호출에서는 'a' 출력print(next(gen)) # 두 번째 호출에서는 'b' 출력작동방식일반적인 함수는 호출될 때 메인 메모리의 스택에 스택 프레임(Stack Frame)의 형태로 추가됩니다. 함수의 동작이 모두 끝나고 return을 하면 이 스택 프레임은 다시 제거됩니다.반면 yi..