데이터 타입
데이터 타입 (Data Types)
이 장에서 설명하는 모듈들은 날짜와 시간, 고정 타입 배열, 힙 큐, 이중 끝 큐(double-ended queue), 열거형 등 다양한 특수 데이터 타입을 제공합니다. Python은 또한 dict, list, set, frozenset, tuple 같은 내장 데이터 타입을 제공합니다. str 클래스는 유니코드 문자열을 담는 데, bytes와 bytearray 클래스는 이진 데이터를 담는 데 사용됩니다.
본문
이 장에 문서화된 모듈들은 다음과 같습니다.
datetime— 기본 날짜와 시간 타입. aware/timezone과 naive 객체, 상수, 사용 가능한 타입,timedelta/date/datetime/time객체,tzinfo와timezone객체,strftime()/strptime()동작 및 형식 코드를 다룹니다.zoneinfo— IANA 시간대 지원.ZoneInfo클래스, 데이터 소스 설정(컴파일 타임/환경/런타임 설정), 문자열 표현, pickle 직렬화, 함수, 전역, 예외와 경고를 다룹니다.calendar— 일반 달력 관련 함수. 명령줄 사용법 포함.collections— 컨테이너 데이터 타입.ChainMap,Counter,deque,defaultdict,namedtuple(),OrderedDict,UserDict,UserList,UserString객체를 다룹니다.collections.abc— 컨테이너용 추상 기본 클래스.heapq— 힙 큐 알고리즘.bisect— 배열 이분(bisection) 알고리즘.array— 숫자 값의 효율적인 배열.weakref— 약한 참조.types— 동적 타입 생성과 내장 타입의 이름.copy— 얕은 복사와 깊은 복사 연산.pprint— 데이터 예쁘게 출력.reprlib— 대체repr()구현.enum— 열거형 지원.graphlib— 그래프를 다루는 기능 (DAG 최상위 정렬 등).
이 모듈들은 날짜·시간 연산, 데이터 정렬과 검색, 효율적인 수치 저장, 열거형 정의, 컨테이너형, 그래프 알고리즘 등 Python 프로그램에서 흔히 필요한 특수 데이터 타입을 제공합니다. 프로그래머는 이 모듈들을 조합하여 날짜 처리, 큐 기반 알고리즘, 메모리 제약이 있는 수치 데이터 저장, 상태 머신(열거형) 등을 구현할 수 있습니다.
예를 들어 datetime은 날짜와 시간을 다루고, heapq는 우선순위 큐를 구현하며, enum은 열거형 상수 집합을 정의하는 데 사용됩니다. array는 리스트보다 메모리 효율이 높은 균일 타입 수치 배열이며, weakref는 객체를 파괴하지 않는 참조를 만들어 메모리 누수를 막습니다. collections는 다양한 특수 컨테이너를 제공하여 일반적인 데이터 구조 작업을 편리하게 만듭니다.