2번째 줄: |
2번째 줄: |
| 순회할 수 있는 데이터형. | | 순회할 수 있는 데이터형. |
| | | |
− | for과 함께 쓰여 순회용으로 만드는 것. | + | for과 함께 쓰여 순회용으로 만드는 것. 루프의 작용을 제어하기 위해 쓰이는 함수. |
| + | |
| + | 연속적인 값들을 만들어낸다. |
| + | |
| + | return이 아닌, yield를 통해 돌려받는다. 이를 이용해 한 번 호출될 때마다 하나의 값을 뱉어낸다.(즉, 인공지능 등에서 학습용 데이터를 메모리에 모두 올려두는 게 아니라, 필요할 때마다 해당 데이터를 빼낼 수 있게 구성된 것이다.) => 덕분에 적은 메모리 만으로도 만들 수 있다. |
| + | |
| + | (근본적으로 함수와 다를 바 없는데.. 함수와 다른 이름으로 분류되네) |
| + | |
| + | === 예 === |
| + | <syntaxhighlight lang="python"> |
| + | def generator(): |
| + | list = range(3) # 0에서 3 미만까지. |
| + | for i in list: |
| + | yield i |
| + | |
| + | mygen = generator() # 제너레이터를 생성하고.. |
| + | for in mygen: |
| + | print(i) |
| + | </syntaxhighlight>0, 1, 2가 출력된다. |
| [[분류:기초]] | | [[분류:기초]] |