Python의 빌트인 class들의 관계
파이썬의 iterable, iterator , generator, container의 관계를 설명할 때
많이 사용하는 그림이다.
나는 여기에 몇 가지를 좀 더 추가했다.
generator는 iterator의 일종이나, 특별한 iterator라고 볼 수 있다.
게으른 factory와 같이 값을 미리 보유하고 있는 것이 아니라
필요에 따라 생성한다.
python에서 제공하는 list, dict, ...등과 같은 객체들은,
선언과 동시에 안에 무엇을 담을지 결정하여 초기화시킬 수 있다.
그 코드에서 list, dict와 같은 객체들은
1,2,3,4와 같은 정수 배열을 담거나 key-value를 담은 container를 생성한다.
python에서 제공하는 container 객체들
그리고 대부분의 container 객체들은 iterable, 순회할 수 있지만,
프로그래머 스스로 순회할 수 없는 container class를 구현할 수도 있다.
int, float, double과 같은 자료형은 literal이며
container가 아니고, 순회할 수도 없다.
댓글
댓글 쓰기