프로그래밍/Python

반복 가능한 Iterable 객체와 반복자 Iterator 객체

swedu 2023. 1. 6. 21:06
728x90
반응형

2023.1.6. 최초 작성

 

 

 

파이썬에서 반복이 가능한 객체를 iterable 객체라고 한다. iterable 객체는 매직 메소드(특수한 역할를 하는 메소드)__iter__ 에 의해 반복자인 iterator 객체를 만든다.

iterator 객체는 __next__ 매직 메소드에 의해 반복하며 값을 차례로 꺼내게 된다.

 

for 문은 iterable iterator 객체를 사용하여 반복 구조를 만드는데 아래 예제 코드는 __iter__ __next__ 메소드를 직접 사용한 것이다.

 
s = 'hello'
for ss in s:
    print(ss)

if '__iter__' in dir(s):
    print("__iter__ 존재함")
else:
    print("__iter__ 없음")

a = s.__iter__()
if '__next__' in dir(a):
    print("__next__ 존재함")
else:
    print("__next__ 없음")

print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())

[실행 결과]

h
e
l
l
o
__iter__ 존재함
__next__ 존재함
h
e
l
l
o

 

 

728x90
반응형

 

728x90
반응형