Python - 문제 미리보기

문제 2060

medium
커스텀 이터레이터 클래스를 만들 때 반드시 구현해야 하는 메서드들은? ```python class MyIterator: def ______(self): # 초기화 코드 return self def ______(self): # 다음 값 반환 코드 pass ```
A. `__init__` / `__next__`
B. `__iter__` / `__next__`
C. `__init__` / `__getitem__`
D. `__iter__` / `__call__`

정답: B

이터레이터 프로토콜 (Iterator Protocol): 필수 구현 메서드: ⦁ `__iter__()`: 이터레이터 객체 자신을 반환 ⦁ `__next__()`: 다음 값을 반환하거나 StopIteration 예외 발생 `__iter__()` 메서드: ⦁ 역할: `iter()` 함수가 호출될 때 실행됨 ⦁ 반환값: 반드시 이터레이터 객체(보통 `self`) 반환 ⦁ 초기화: 필요한 경우 이터레이션 상태 초기화 `__next__()` 메서드: ⦁ 역할: `next()` 함수가 호출될 때 실행됨 ⦁ 반환값: 시퀀스의 다음 항목 반환 ⦁ 종료 조건: 더 이상 항목이 없으면 `StopIteration` 예외 발생

💡 학습 팁

이 문제를 포함한 Python 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.