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가 아니고, 순회할 수도 없다.



 



댓글

이 블로그의 인기 게시물

실무진 면접 경험으로 정리하는 백엔드 (1) : 에듀 테크 기업 면접

Blogger 커스터마이징 : CSS 수정 (sticky-header)

노마드코더 개발자북클럽 Clean code TIL 6 : 6장. 객체와 자료구조