데이터 타입

데이터 타입 (Data Types)

이 장에서 설명하는 모듈들은 날짜와 시간, 고정 타입 배열, 힙 큐, 이중 끝 큐(double-ended queue), 열거형 등 다양한 특수 데이터 타입을 제공합니다. Python은 또한 dict, list, set, frozenset, tuple 같은 내장 데이터 타입을 제공합니다. str 클래스는 유니코드 문자열을 담는 데, bytesbytearray 클래스는 이진 데이터를 담는 데 사용됩니다.

출처: Python documentation

본문

이 장에 문서화된 모듈들은 다음과 같습니다.

  • datetime — 기본 날짜와 시간 타입. aware/timezone과 naive 객체, 상수, 사용 가능한 타입, timedelta/date/datetime/time 객체, tzinfotimezone 객체, 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는 다양한 특수 컨테이너를 제공하여 일반적인 데이터 구조 작업을 편리하게 만듭니다.

더 알아보기 (Learn more)