이터레이터(iterator)
📌 이터레이터(iterator)
: 순회 가능한 객체(list, tuple, str 등)의 요소에 순서대로 접근할 수 있는 객체.
첫 요소를 가져오고 다음 요소를 가리킴.
📌 iter( )
: 순회 가능한 객체(list, tuple, str 등)에서 이터레이터(iterator) 객체를 가져옴.
📌 이터레이터(iterator)의 다음 요소 가리킴.
__next__( ) : 이터레이터(iterator) 객체 메소드.
next( ) : 내장 함수.
s = 'hello'
it = iter(s)
print(it) # <str_iterator object at 0x0000023655BC7C40>
print(next(it)) # h
print(next(it)) # e
print(next(it)) # l
print(it.__next__()) # l
print(it.__next__()) # o
제너레이터(generator)
📌 제너레이터(generator)
: 이터레이터(iterator)를 생성해주는 함수.
yield
📌 return 대신 사용하면 함수를 끝내지 않고 호출한 곳으로 값을 전달함.
📌 yield는 이전에 실행된 지점부터 다시 실행함.
def reverse(data):
for i in range(len(data) - 1, -1, -1):
yield data[i]
for i in reverse("hello"):
print(i)
# o
# l
# l
# e
# h
'Python > Python' 카테고리의 다른 글
[Python] 상속 (0) | 2022.10.11 |
---|---|
[Python] 내장 함수 (1) | 2022.10.11 |
[Python] 얕은 복사와 깊은 복사 (1) | 2022.10.11 |
[Python] mutable과 immutable 객체 (0) | 2022.10.11 |
[Python] sys.stdin.readline() (0) | 2022.10.04 |
댓글