파이썬 시퀀스의 저장방식 : 컨테이너 시퀀스와 플랫 시퀀스
2023. 5. 1. 23:56ㆍPython is Free/Fluent Python
파이썬을 설치하면 자동으로 설치되는 기본 객체(objective)가 몇 가지 있습니다.
특히, 리스트, 튜플 등은 정보의 나열이란 의미에서 시퀀스라고 부르죠.
구분 기준의 대전제가 있습니다.
프로그래밍 언어 객체가 저장되는 메모리 공간입니다.
내장 시퀀스는 크게 C언어의 저장방식을 기준으로 크게 두 가지로 나뉩니다.
컨테이너 시퀀스(contatiner sequence)와
플랫 시퀀스(flat sequence)로요.
컨테이너 시퀀스의 메모리로 가보죠.
컨테이너 시퀀스는 스마트폰의 저장된 번호목록과 같습니다.
저장된 번호의 누군가와 함께 거주하지 않는다면,
따로 약속 등을 통해서 만납니다.
플랫 시퀀스는 동거인과 같습니다.
동일한 집에서 함께 살죠.
메모리를 기준으로 변수를 조회해 보면,
컨테이너 시퀀스는 객체의 값이 아니라, 객체의 값이 저장된 주소를 가지고 있습니다.
플랫 시퀀스는 객체값 그대로 가지고 있죠.
list, tuple, collections.deque는 컨테이너 시퀀스에 해당합니다.
str, bytes, array.array는 플랫 시퀀스에 해당하죠.
마지막으로, 이해를 돕기 위해, 서적 <fluent python>에 제시된 도식을 첨부합니다.
글 읽어주셔서 고맙습니다.
행복한 하루 되십시오.
'Python is Free > Fluent Python' 카테고리의 다른 글
튜플 언패킹과 *args (0) | 2023.05.17 |
---|---|
Python Enum (0) | 2023.05.02 |
막힘없이 Python(파이썬) 하기 : 특별 메서드의 대표 예시 (2) | 2023.04.25 |
막힘없이 Python(파이썬) 하기 : 파이썬 데이터 모델과 특별메서드의 개념 (0) | 2023.04.23 |
[Fluent Python] 막힘없이 Python(파이썬) 하기 : 리뷰 계기 (1) | 2023.04.22 |