티스토리 뷰
<이터러블 객체(Iterable Object)>
파이썬에서 for 문과 함께 리스트나 문자열 등이 사용될 수 있었다. 뿐만 아니라, 이터러블 객체(Iterable Object)가 존재하는 데, 이터러블 객체를 만들면 for문과 함께 객체를 사용할 수 있다.
다음의 간단한 예제 코드를 살펴보자.
class Counter:
def __init__(self,start,finish):
self.__start = start
self.__finish = finish
def __iter__(self):
return self
def __next__(self):
if self.__start > self.__finish:
raise StopIteration
else:
self.__start +=1
return self.__start - 1
c = Counter(1,20)
for i in c:
print(i)
이터러블한 객체가 되려면 가장 먼저 __iter__() 메소드를 객체 자신을 반환하도록 정의해주어야 한다.
그리고 __next__()를 통해 다음 값을 지정해 줄 수 있다. 만약 다음 값이 없을 경우 StopIteration 예외를 발생 시키면 된다.
제너레이터(Generators)>
이터러블 객체가 객체를 만들어, 이터레이터를 만드는 방법이라면, 제너레이터(Generators)는 함수를 통해 이터레이터를 만드는 방법이다.
다음의 간단한 예제 코드를 살펴보자.
def generator():
yield "1"
yield "2"
yield "3"
for i in generator():
print(i)
위와 같이 함수내에 yield 키워드를 지정해줌으로써 이터레이터로 활용할 수 있다.
'Programming Languages > Python' 카테고리의 다른 글
miniconda3(Anaconda3) 설치와 Pycharm 가상환경 설정 (0) | 2020.08.31 |
---|---|
주피터 노트북(Jupyter Notebook) 활용 방법 (0) | 2019.10.04 |
파이썬 클래스 생성 방법 (0) | 2019.06.29 |
파이썬 모듈에서 if __name__ == "__main__": 의미 (0) | 2019.06.28 |
파이썬 라이브러리 위치 확인, 버전 확인 등 (0) | 2018.11.11 |
댓글