python iterator

정은경·2021년 3월 22일
0

iterator

  • interatro == 반복자
  • 값을 차례대로 꺼낼 수 있는 객체
  • 파이썬에서는 이터레이터만 생성하고 필요한 시점이 되었을 때 값을 만드는 반식! (메모리를 많이 사용하지 않아 성능에 굿!)
  • 즉, 데이터 생성을 뒤로 미루는 것 => 지연 평가(lazy evaluation)

__iter__와 __next__

  • "__iter__"와 "__next__"를 가진 객체를 "이터레이터 프로토콜"을 지원한다고 말한다

헛갈리는 내용 주의

  • iterable (반복가능한 객체) => 요소를 한 번에 하나씩 가져올 수 있는 객체
  • iterator (반복자) => "__next__" 메소드를 사용해서 차례대로 값을 꺼낼 수 있는 객체
  • 즉!!! interator는 반복 가능한 객체에서 "__iter__" 메소드로 이터레이터를 얻음!

__getitem__

  • "__getitem__"만 구현해도 이터레이터가 됨!
  • "__getitem__"만 구현하면, "__iter__"와 "__next__"필요 없이 이터레이터가 될 수 있음!

느낀 점

  • 실무에서 구체적으로 어떤 부분에 적용할 수 있을 지 아직은 아리송송

Reference

profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글