오늘은 두 가지 중요한 파이썬 키워드, 'yield'와 'return'에 대해 포스팅하려고 한다. 이 두 키워드는 함수에서 값을 반환하는 방법에 사용되지만, 그들의 작동 방식은 조금 다르다.이 포스트에서는 'yield'와 'return'의 차이점과 각각 어떻게 사용되는지에 대해 알아보겠다.
'return'은 함수에서 값을 반환하고 함수의 실행을 종료하는 역할을 한다. 함수가 호출되면, return 문에 지정된 값을 호출자에게 반환한 다음 함수를 종료한다.
def sum(a, b):
result = a + b
return result
total = sum(5, 3)
print(total) # 출력: 8
이 예제에서 sum
함수는 두 개의 인자를 받아서 더한 후, 결과를 return
으로 반환한다. return
문을 실행하면 함수의 실행이 종료되고, 값이 호출자에게 반환된다.
반면에 'yield'는 함수의 실행을 일시 중지하고 호출자에게 값을 반환한 후, 함수의 실행을 재개한다. 이를 통해 함수는 이전 상태를 기억하고 다음 호출 때 이어서 실행할 수 있다. 'yield'는 주로 반복 가능한 객체를 생성하는 데 사용된다.
def count_up_to(max):
count = 1
while count <= max:
yield count
count += 1
counter = count_up_to(5)
for number in counter:
print(number)
출력:
1
2
3
4
5
이 예제에서 count_up_to
함수는 yield
를 사용하여 숫자를 하나씩 반환한다. yield
가 호출되면 함수의 실행이 일시 중지되고, 숫자가 호출자에게 반환된다. 다음 숫자가 필요할 때 함수는 중지된 지점에서 계속 실행된다.
return
은 값을 반환하고 함수의 실행을 종료한다.yield
는 값을 반환하고 함수의 실행을 일시 중지한 후 재개한다.yield
는 주로 반복 가능한 객체, 즉 제너레이터를 생성하는 데 사용된다.