본문 바로가기
공부,일/파이썬

반복자

by fromnothing1 2021. 8. 10.

파이썬을 써보면 다른 언어와 다른 점이 많다 

 

그 중에 특이한 점은  for 문이라 할 수 있다. 

보통  for 문은 int i 가  0 부터 특정 수까지 순회 하는 구조로 작동한다. 

하지만  파이썬에서는 특정 리스트 ,튜플 , 딕셔너리등 의 멤버를 순차적으로 순회하는 모습을 한다 

 

for num in [11,22,33 ]

  print(num)

 

위의 코드는 실질적으로는 아래의 코드와 같이 동작한다. 

nums = [11,22,33]

it = iter(nums)
while True:
    try:
        num = next(it)
    except StopIteration:
        break
    print(num)

각각의 컨테이너는 내부함수  __iter__, __next__ 메서드가 존재하는데 

 

iter  은 반복자의 시작위치를 가진다. 

그리고 next 는 함수는 반복자의 다음 요소를 순서대로 꺼내고 컨테이너 끝에 도달하면 StopIteration 예외를 발생시킨다. 

 

이러한 위의 구조를 알고 있으면 여러 클레스의 for 문을 입맞에 맞춰서 구동 가능하다. 

 

'공부,일 > 파이썬' 카테고리의 다른 글

원격으로 jupyter notebook 사용 colab  (0) 2021.11.17
파이썬 쓰레드 구현  (0) 2021.10.01
SQLite  (0) 2021.07.29
함수 (def)  (0) 2021.07.26
2021-07-26  (0) 2021.07.26

댓글