■ iterable 객체 : iter 함수에 인자로 전달 가능한 객체
ex) 리스트, 튜플, 문자열, 파일 등
'''
hasattr 함수호출을 통해 __iter__함수가 있는지 물어봄으로써 iterable 객체인지 알 수 있다
'''
hasattr([1, 2, 3], '__iter__') # True
■ iterator 객체 : iter 함수가 생성해서 반환하는 객체
■ 정리
- iterable 객체를 대상으로 iter 함수를 호출해서 iterator 객체를 만든다
- iterator 객체를 생성할 수 있는 대상이 되는 것이 iterable 객체이다
- iterable 객체와 iterator 객체 모두 for루프의 반복 대상이 될 수 있다
- iterable 객체가 와야 하는 위치에는 iterator 객체가 올 수 있다
■ 예제
ds = [1, 2, 3]
ir = iter(ds) # iterator 객체 얻음
next(ir) # 1
next(ir) # 2
next(ir) # 3
next(ir) # StopIteration 예외 발생
# iterator를 이용한 반복문
ds = [1, 2, 3]
ir = iter(ds)
for i in ir:
print(i, end=' ') # 1 2 3
'스크립트 > Python' 카테고리의 다른 글
urllib을 이용하여 이미지 다운로드 하기 (0) | 2021.05.30 |
---|---|
람다(lambda) (0) | 2021.03.14 |
파일 처리 (0) | 2021.03.14 |
파이썬 소스 작성시 권장 예 (0) | 2021.03.12 |
파이썬 주석 종류 (0) | 2021.03.11 |