파이썬을 써보면 다른 언어와 다른 점이 많다
그 중에 특이한 점은 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 |
댓글