• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

iter(),next() 반복가능에 관한 질문입니다.

20.06.06 01:29 작성 조회수 253

0

iterable 객체와 iterate 객체의 차이점을 이해 못하겠습니다.

어떤 문자열을 dir로  속성을 확인하면 __iter__ 가 있으니깐,

next()를 적용할수있겠구나 싶으면,

'str' object is not an iterator

이렇게 'iterator가 아니야' 라면서 type error가 발생함을 확인하였습니다.

따라서, __iter__와 iterator는 뭔가 다르다는 소리같은데,

__iter__도 반복가능하다는의미이고,  iterator도 반복가능한 객체라는의미인데, 둘의 차이점이 무엇인가요?

또한, 이와 관련하여,  06_1강의에서, 우선 __init__을 호출하신다음, __iter__메서드를 사용하지않으시고, 바로 다음 __next__에 오류없이 적용될수있었고, 어떻게 for구문과 같이 반복사용되어 모든 단어를 반환하였는지 궁금합니다.

print(dir(self._text))를 진행하였을떄 __iter__를 확인했습니다만. 위에서 처럼 __iter__속성이 존재해도, next()함수에서는 오류가 발생하였습니다.

계속 이 반복가능 부분에서 꼬이고 꼬여서 막혀버리네요 ㅠㅠ... 답변부탁드립니다.

답변 1

답변을 작성해보세요.

0

참고하세요

https://www.geeksforgeeks.org/python-difference-iterable-iterator/

iterable 과 iterator 차이점