데이터 구조체_시퀀스

매일 공부(ML)·2022년 10월 31일
0

Fluent Python

목록 보기
4/130

데이터 구조체

시퀀스

ABC 언어는 초보자를 위한 프로그래밍 환경을 개발하기 위한 것으로 시퀀스에 대한 범용 연산, 내장된 튜플과 매핑 자료형, 들여쓰기를 이용한 구문 구조, 변수를 선언하지 않고 강력하게 자료형 검사하기 등 우리가 '파이썬스러운' 것이라고 생각하는 것이다.
파이썬을 만들기 전 귀도는 ABC언어에 참여했다.


귀도는 이 프로젝트 참여로 인해서 여러가지 영향을 받았다.

그 중에서 시퀀스를 단일하게 처리하는 ABC의 특징을 물려받았다.

문자열, 리스트, 바이트 시퀀스, 배열, XML 요소, 데이터베이스 결과는 모두 반복, 슬라이싱, 정렬, 연결 등 공통된 연산을 적용할 수 있다.

그로 인해서, 다양한 시퀀스를 이해하면 코드를 새롭게 구현할 필요가 없고, 시퀀스의 공통 인터페이스를 따라 기존 혹은 향후에 구현될 시퀀스 자료형을 적절히 지원하고 활용할 수 있게 API를 정의할 수 있다.


내장 시퀀스 개요

파이썬 표준 라이브러리는 C로 구현된 다음과 같은 시퀀스형을 제공한다.

  • 컨테이너 시퀀스

    • 서로 다른 자료형의 항목들을 담을 수 있는 list, tuple, collections, deque 형
    • 객체에 대한 참조를 담고 있고 어떠한 자료형도 될 수 있다.
  • 균일 시퀀스

    • 단 하나의 자료형만 담을 수 있는 str, bytes, bytearray, memoryview, array.array 형
    • 객체에 대한 참조 대신 자신의 메모리 공간에 각 항목의 값을 직접 담는다.
    • 메모리를 적게 사용하지만 그 만큼, 문자,바이트, 숫자 등 기본적인 자료형만 저장할 수 있다.
  • 가변 시퀀스

    • list

profile
성장을 도울 아카이빙 블로그

0개의 댓글