일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- docker
- 플러터
- C++
- Houdini
- c# 추상 클래스
- dart 언어
- vim
- jupyter lab
- C언어 포인터
- Python
- 유니티
- c# winform
- git
- Algorithm
- 포인터
- c# 윈폼
- c언어
- Data Structure
- 깃
- Unity
- C# delegate
- Flutter
- HTML
- jupyter
- 도커
- 다트 언어
- c#
- github
- gitlab
- 구조체
Archives
- Today
- Total
목록제네레이터 (generator) 파이썬 (1)
nomad-programmer
[Programming/Python] 제네레이터 (generator)
제네레이터는 제네레이터 객체에서 __next__ 메서드를 호출할 때마다 함수 안의 yield 까지 코드를 실행하며 yield에서 값을 발생시킨다(generate). 그래서 이름이 제네레이터이다. for와 제네레이터 for 반복문은 반복할 때마다 __next__ 를 호출하므로 yield에서 발생시킨 값을 가져온다. 그리고 StopIteration 예외가 발생하면 반복을 끝낸다. 참고로 제네레이터 객체에서 __iter__를 호출하면 self를 반환하므로 같은 객체가 나온다. (제네레이터 함수 호출 > 제네레이터 객체 > __iter__는 self 반환 > 제네레이터 객체) 그런데 generate라는 키워드를 사용하면 되지 왜 yield라고 이름을 지었을까? yield는 생산하다라는 뜻과 양보하다라는 뜻도 가..
Programming/Python
2023. 1. 29. 20:06