Python - 문제 미리보기
문제 2060
medium
커스텀 이터레이터 클래스를 만들 때 반드시 구현해야 하는 메서드들은?
```python
class MyIterator:
def ______(self):
# 초기화 코드
return self
def ______(self):
# 다음 값 반환 코드
pass
```
정답: B
이터레이터 프로토콜 (Iterator Protocol):
필수 구현 메서드:
⦁ `__iter__()`: 이터레이터 객체 자신을 반환
⦁ `__next__()`: 다음 값을 반환하거나 StopIteration 예외 발생
`__iter__()` 메서드:
⦁ 역할: `iter()` 함수가 호출될 때 실행됨
⦁ 반환값: 반드시 이터레이터 객체(보통 `self`) 반환
⦁ 초기화: 필요한 경우 이터레이션 상태 초기화
`__next__()` 메서드:
⦁ 역할: `next()` 함수가 호출될 때 실행됨
⦁ 반환값: 시퀀스의 다음 항목 반환
⦁ 종료 조건: 더 이상 항목이 없으면 `StopIteration` 예외 발생
💡 학습 팁
이 문제를 포함한 Python 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.