return
or yield
def return_abc() :
return list("ABC")
print(return_abc()
def yield_abc():
yield ("A")
yield ("B")
yield ("C")
print(yield_abc())
ex) time.sleep() 이용한 예제
```python
import time
# ------------------------ 1: return 출력 -----
def return_abc():
alphabets = []
for ch in "ABC":
time.sleep(1)
alphabets.append(ch)
return alphabets
for ch in return_abc():
print(ch)
# ------------------------ 2: yield 출력 -----
def yield_abc(): # yield from ["A", "B", "C"]와 동일
for ch in "ABC":
time.sleep(1)
yield ch
for ch in yield_abc():
print(ch)
```
제너레이터를 통해서는 결과값을 나누어서 얻을 수 있기 때문에 성능 측면에서 큰 이점
memory 측면