Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Python/파이썬] Iterator와 Iterable의 차이점 본문
Iterator와 Iterable은 파이썬에서 자주 사용되는 개념으로, 데이터 컬렉션을 반복하는 데 사용됩니다. 이 둘의 차이점을 이해하는 것은 파이썬 프로그래밍에서 중요합니다. 이번에는 Iterator와 Iterable의 차이점에 대해 알아보겠습니다.
Iterable
Iterable은 반복 가능한 객체를 의미합니다. 즉, 이 객체는 반복문(for 루프)에서 직접 사용할 수 있습니다. 대표적인 예로는 리스트, 튜플, 집합, 문자열 등이 있습니다. 이 객체들은 모두 `__iter__()` 메서드를 구현하여 자신을 반복할 수 있도록 합니다.
Iterator
Iterator는 값을 차례대로 반환하는 객체입니다. 이 객체는 반복 가능한 객체(Iterable)로부터 값을 가져오는 역할을 합니다. Iterator는 `__iter__()`와 `__next__()` 메서드를 구현해야 합니다. `__iter__()` 메서드는 Iterator 객체 자신을 반환하고, `__next__()` 메서드는 다음 값을 반환합니다.
Iterator는 Iterable의 일종이지만, 모든 Iterable이 Iterator는 아닙니다. 즉, Iterable은 값을 반복할 수 있는 객체이지만, 그 자체로 값을 반환하는 Iterator는 아닙니다.
예제
예제 1: Iterable
# Iterable 객체 생성
my_list = [1, 2, 3, 4, 5]
# Iterable을 반복하여 출력
for item in my_list:
print(item)
예제 2: Iterator
# Iterable 객체 생성
my_list = [1, 2, 3, 4, 5]
# Iterator 객체 생성
my_iter = iter(my_list)
# Iterator를 반복하여 출력
print(next(my_iter)) # 1
print(next(my_iter)) # 2
print(next(my_iter)) # 3
print(next(my_iter)) # 4
print(next(my_iter)) # 5
'프로그래밍' 카테고리의 다른 글
[Python/파이썬] *args와 **kwargs의 차이점 (0) | 2024.03.05 |
---|---|
[Python/파이썬] 'and'와 '&'의 차이점 (0) | 2024.03.05 |
[Python/파이썬] MySQL 테이블 생성, 삭제 (0) | 2024.03.05 |
[Python/파이썬] MySQL 데이터 찾기(SELECT) 정렬 (0) | 2024.03.05 |
[Python/파이썬] MySQL DB 생성, 삭제 (0) | 2024.03.04 |