반응형
파이썬 문법 중 yield와 next가 있다.
일반적으로 함수에서 값을 뽑아 낼때는 return으로 값을 보내 준다.
그리고 생성된 함수는 값을 return 함으로서 역할을 종료 한다. 가령 while 문이 무한으로 돌고 있어도
return을 맞이하면 종료 한다.
yield는 값을 보내줄때 사용하는데 return 과 다른 점은 함수의 종료가 아닌 지속적으로 보내 줄 수 있다.
이때 값을 받을 수 있는 방식이 next이다.
아래 예제를 통해 이해해 보도록 하자.
def func_yield():
a_var = 2
yield a_var
while True:
a_var = a_var + 1
yield a_var
b_var = func_yield()
c_var = func_yield()
print(next(b_var))
print(next(c_var))
print(next(b_var))
print(next(b_var))
print(next(b_var))
결과 >>
2
2
3
4
5
위 코드에서 처럼 next는 yield 값을 받을 때까지 함수를 진행해 주고 yield 값을 보내는 역할을 한다.
반응형
'파이썬(Python) > 문법' 카테고리의 다른 글
enumerate, index값 불러오기 (0) | 2020.11.21 |
---|---|
선언 전 메모리절약, range, getsizeof (0) | 2020.11.20 |
list comprehension, for if문 써서 한줄로 list 만들기 (0) | 2020.11.19 |
lambda, map 함수 (0) | 2020.11.18 |
파일 처리 - 읽기 모드 (0) | 2020.08.11 |