iter(), next()

고봉진·2023년 4월 12일
0

python

목록 보기
4/4

iter()

iter(obejct)
iter(object, sentinel)

  • 이터레이터 객체를 반환.
  • 두 번째 인수가 없다면 첫 번째 인수는 무조건 iterable protocol(__iter__ 메서드) 또는 sequence protocol(__getitem__ 메서드)을 지원하는 객체여야 한다. 그렇지 않으면 TypeError를 발생시킨다.
  • Sentinel이라고 불리는 두 번째 인수가 있다면, 첫 번째 인수는 콜러블 객체여야 한다. __next__ 메서드가 실행 될 때마다 첫 번째 인수로 넘겨진 콜러블 객체를 호출한다. 그로부터 sentinel과 같은 값이 반환될 때 StopIteration 예외를 발생시킨다. 그 전까지는 콜러블 객체에서 반환된 값을 반환한다.

next()

next(iterator)
next(iterator, default)

  • 이터레이터에서 다음 아이템을 가져온다.
  • 디폴트 값이 있으면 이터레이터가 소진되었을 때 이 값이 반환되지만 없다면 StopIteration 예외를 발생시킨다.

참고자료

profile
이토록 멋진 휴식!

0개의 댓글