데이터형
********

이 장에서 설명하는 모듈은 날짜와 시간, 고정형 배열, 힙 큐, 데크, 열거
형과 같은 다양한 특수 데이터형을 제공합니다.

파이썬은 또한 일부 내장 데이터형, 특히 "dict", "list", "set"과
"frozenset", "tuple"을 제공합니다. "str" 클래스는 유니코드 문자열을 저
장하는 데 사용되고, "bytes"와 "bytearray" 클래스는 바이너리 데이터를
저장하는 데 사용됩니다.

이 장에서는 다음 모듈에 관해 설명합니다:

* "datetime" --- Basic date and time types

  * 어웨어와 나이브 객체

  * 상수

    * "MINYEAR"

    * "MAXYEAR"

    * "UTC"

  * 사용 가능한 형

    * 공통 속성

    * 객체가 어웨어한지 나이브한지 판단하기

  * "timedelta" 객체

    * "timedelta"

    * "min"

    * "max"

    * "resolution"

    * "days"

    * "seconds"

    * "microseconds"

    * "total_seconds()"

    * 사용 예: "timedelta"

  * "date" 객체

    * "date"

    * "today()"

    * "fromtimestamp()"

    * "fromordinal()"

    * "fromisoformat()"

    * "fromisocalendar()"

    * "min"

    * "max"

    * "resolution"

    * "year"

    * "month"

    * "day"

    * "replace()"

    * "timetuple()"

    * "toordinal()"

    * "weekday()"

    * "isoweekday()"

    * "isocalendar()"

    * "isoformat()"

    * "__str__()"

    * "ctime()"

    * "strftime()"

    * "__format__()"

    * 사용 예: "date"

  * "datetime" 객체

    * "datetime"

    * "today()"

    * "now()"

    * "utcnow()"

    * "fromtimestamp()"

    * "utcfromtimestamp()"

    * "fromordinal()"

    * "combine()"

    * "fromisoformat()"

    * "fromisocalendar()"

    * "strptime()"

    * "min"

    * "max"

    * "resolution"

    * "year"

    * "month"

    * "day"

    * "hour"

    * "minute"

    * "second"

    * "microsecond"

    * "tzinfo"

    * "fold"

    * "date()"

    * "time()"

    * "timetz()"

    * "replace()"

    * "astimezone()"

    * "utcoffset()"

    * "dst()"

    * "tzname()"

    * "timetuple()"

    * "utctimetuple()"

    * "toordinal()"

    * "timestamp()"

    * "weekday()"

    * "isoweekday()"

    * "isocalendar()"

    * "isoformat()"

    * "__str__()"

    * "ctime()"

    * "strftime()"

    * "__format__()"

    * 사용 예: "datetime"

  * "time" 객체

    * "time"

    * "min"

    * "max"

    * "resolution"

    * "hour"

    * "minute"

    * "second"

    * "microsecond"

    * "tzinfo"

    * "fold"

    * "fromisoformat()"

    * "replace()"

    * "isoformat()"

    * "__str__()"

    * "strftime()"

    * "__format__()"

    * "utcoffset()"

    * "dst()"

    * "tzname()"

    * 사용 예: "time"

  * "tzinfo" 객체

    * "tzinfo"

    * "utcoffset()"

    * "dst()"

    * "tzname()"

    * "fromutc()"

  * "timezone" 객체

    * "timezone"

    * "utcoffset()"

    * "tzname()"

    * "dst()"

    * "fromutc()"

    * "utc"

  * "strftime()" and "strptime()" Behavior

    * "strftime()" and "strptime()" Format Codes

    * 기술적 세부 사항

* "zoneinfo" --- IANA time zone support

  * "ZoneInfo" 사용하기

  * 데이터 소스

    * 데이터 소스 구성

      * 컴파일 시간 구성

      * 환경 구성

      * 실행 시간 구성

  * "ZoneInfo" 클래스

    * "ZoneInfo"

    * "from_file()"

    * "no_cache()"

    * "clear_cache()"

    * "key"

    * 문자열 표현

    * 피클 직렬화

  * 함수

    * "available_timezones()"

    * "reset_tzpath()"

  * 전역

    * "TZPATH"

  * 예외와 경고

    * "ZoneInfoNotFoundError"

    * "InvalidTZPathWarning"

* "calendar" --- General calendar-related functions

  * "Calendar"

    * "iterweekdays()"

    * "itermonthdates()"

    * "itermonthdays()"

    * "itermonthdays2()"

    * "itermonthdays3()"

    * "itermonthdays4()"

    * "monthdatescalendar()"

    * "monthdays2calendar()"

    * "monthdayscalendar()"

    * "yeardatescalendar()"

    * "yeardays2calendar()"

    * "yeardayscalendar()"

  * "TextCalendar"

    * "formatmonth()"

    * "prmonth()"

    * "formatyear()"

    * "pryear()"

  * "HTMLCalendar"

    * "formatmonth()"

    * "formatyear()"

    * "formatyearpage()"

    * "formatmonthname()"

    * "cssclasses"

    * "cssclass_noday"

    * "cssclasses_weekday_head"

    * "cssclass_month_head"

    * "cssclass_month"

    * "cssclass_year"

    * "cssclass_year_head"

  * "LocaleTextCalendar"

  * "LocaleHTMLCalendar"

  * "setfirstweekday()"

  * "firstweekday()"

  * "isleap()"

  * "leapdays()"

  * "weekday()"

  * "weekheader()"

  * "monthrange()"

  * "monthcalendar()"

  * "prmonth()"

  * "month()"

  * "prcal()"

  * "calendar()"

  * "timegm()"

  * "day_name"

  * "day_abbr"

  * "MONDAY"

  * "TUESDAY"

  * "WEDNESDAY"

  * "THURSDAY"

  * "FRIDAY"

  * "SATURDAY"

  * "SUNDAY"

  * "Day"

  * "month_name"

  * "month_abbr"

  * "JANUARY"

  * "FEBRUARY"

  * "MARCH"

  * "APRIL"

  * "MAY"

  * "JUNE"

  * "JULY"

  * "AUGUST"

  * "SEPTEMBER"

  * "OCTOBER"

  * "NOVEMBER"

  * "DECEMBER"

  * "Month"

  * "IllegalMonthError"

    * "month"

  * "IllegalWeekdayError"

    * "weekday"

  * Command-Line Usage

* "collections" --- Container datatypes

  * "ChainMap" 객체

    * "ChainMap"

      * "maps"

      * "new_child()"

      * "parents"

    * "ChainMap" 예제와 조리법

  * "Counter" 객체

    * "Counter"

      * "elements()"

      * "most_common()"

      * "subtract()"

      * "total()"

      * "fromkeys()"

      * "update()"

  * "deque" 객체

    * "deque"

      * "append()"

      * "appendleft()"

      * "clear()"

      * "copy()"

      * "count()"

      * "extend()"

      * "extendleft()"

      * "index()"

      * "insert()"

      * "pop()"

      * "popleft()"

      * "remove()"

      * "reverse()"

      * "rotate()"

      * "maxlen"

    * "deque" 조리법

  * "defaultdict" 객체

    * "defaultdict"

      * "__missing__()"

      * "default_factory"

    * "defaultdict" 예

  * 이름있는 필드를 가진 튜플을 위한 "namedtuple()" 팩토리 함수

    * "namedtuple()"

    * "_make()"

    * "_asdict()"

    * "_replace()"

    * "_fields"

    * "_field_defaults"

  * "OrderedDict" 객체

    * "OrderedDict"

      * "popitem()"

      * "move_to_end()"

    * "OrderedDict" 예제와 조리법

  * "UserDict" 객체

    * "UserDict"

      * "data"

  * "UserList" 객체

    * "UserList"

      * "data"

  * "UserString" 객체

    * "UserString"

      * "data"

* "collections.abc" --- Abstract Base Classes for Containers

  * Collections 추상 베이스 클래스

  * Collections Abstract Base Classes -- Detailed Descriptions

    * "Container"

    * "Hashable"

    * "Sized"

    * "Callable"

    * "Iterable"

    * "Collection"

    * "Iterator"

    * "Reversible"

    * "Generator"

    * "Sequence"

    * "MutableSequence"

    * "ByteString"

    * "Set"

    * "MutableSet"

    * "Mapping"

    * "MutableMapping"

    * "MappingView"

    * "ItemsView"

    * "KeysView"

    * "ValuesView"

    * "Awaitable"

    * "Coroutine"

    * "AsyncIterable"

    * "AsyncIterator"

    * "AsyncGenerator"

    * "Buffer"

  * Examples and Recipes

* "heapq" --- Heap queue algorithm

  * "heappush()"

  * "heappop()"

  * "heappushpop()"

  * "heapify()"

  * "heapreplace()"

  * "merge()"

  * "nlargest()"

  * "nsmallest()"

  * 기본 예

  * 우선순위 큐 구현 참고 사항

  * 이론

* "bisect" --- Array bisection algorithm

  * "bisect_left()"

  * "bisect_right()"

  * "bisect()"

  * "insort_left()"

  * "insort_right()"

  * "insort()"

  * Performance Notes

  * 정렬된 리스트 검색하기

  * Examples

* "array" --- Efficient arrays of numeric values

  * "typecodes"

  * "array"

    * "typecode"

    * "itemsize"

    * "append()"

    * "buffer_info()"

    * "byteswap()"

    * "count()"

    * "extend()"

    * "frombytes()"

    * "fromfile()"

    * "fromlist()"

    * "fromunicode()"

    * "index()"

    * "insert()"

    * "pop()"

    * "remove()"

    * "reverse()"

    * "tobytes()"

    * "tofile()"

    * "tolist()"

    * "tounicode()"

* "weakref" --- 약한 참조

  * "ref"

    * "__callback__"

  * "proxy()"

  * "getweakrefcount()"

  * "getweakrefs()"

  * "WeakKeyDictionary"

  * "keyrefs()"

  * "WeakValueDictionary"

  * "valuerefs()"

  * "WeakSet"

  * "WeakMethod"

  * "finalize"

    * "__call__()"

    * "detach()"

    * "peek()"

    * "alive"

    * "atexit"

  * "ReferenceType"

  * "ProxyType"

  * "CallableProxyType"

  * "ProxyTypes"

  * 약한 참조 객체

  * 예

  * 파이널라이저 객체

  * Comparing finalizers with "__del__()" methods

* "types" --- Dynamic type creation and names for built-in types

  * 동적 형 생성

    * "new_class()"

    * "prepare_class()"

    * "resolve_bases()"

    * "get_original_bases()"

  * 표준 인터프리터 형

    * "NoneType"

    * "FunctionType"

    * "LambdaType"

    * "GeneratorType"

    * "CoroutineType"

    * "AsyncGeneratorType"

    * "CodeType"

    * "CellType"

    * "MethodType"

    * "BuiltinFunctionType"

    * "BuiltinMethodType"

    * "WrapperDescriptorType"

    * "MethodWrapperType"

    * "NotImplementedType"

    * "MethodDescriptorType"

    * "ClassMethodDescriptorType"

    * "ModuleType"

    * "EllipsisType"

    * "GenericAlias"

    * "UnionType"

    * "TracebackType"

    * "FrameType"

    * "GetSetDescriptorType"

    * "MemberDescriptorType"

    * "MappingProxyType"

      * "copy()"

      * "get()"

      * "items()"

      * "keys()"

      * "values()"

  * 추가 유틸리티 클래스와 함수

    * "SimpleNamespace"

    * "DynamicClassAttribute()"

  * 코루틴 유틸리티 함수

    * "coroutine()"

* "copy" --- Shallow and deep copy operations

  * "copy()"

  * "deepcopy()"

  * "Error"

* "pprint" --- Data pretty printer

  * Functions

    * "pp()"

    * "pprint()"

    * "pformat()"

    * "isreadable()"

    * "isrecursive()"

    * "saferepr()"

  * PrettyPrinter 객체

    * "PrettyPrinter"

    * "pformat()"

    * "pprint()"

    * "isreadable()"

    * "isrecursive()"

    * "format()"

  * 예제

* "reprlib" --- Alternate "repr()" implementation

  * "Repr"

  * "aRepr"

  * "repr()"

  * "recursive_repr()"

  * Repr 객체

    * "fillvalue"

    * "maxlevel"

    * "maxdict"

    * "maxlist"

    * "maxtuple"

    * "maxset"

    * "maxfrozenset"

    * "maxdeque"

    * "maxarray"

    * "maxlong"

    * "maxstring"

    * "maxother"

    * "indent"

    * "repr()"

    * "repr1()"

  * Repr 객체 서브 클래싱

* "enum" --- Support for enumerations

  * 모듈 내용

  * Data Types

    * "EnumType"

      * "__call__()"

      * "__contains__()"

      * "__dir__()"

      * "__getitem__()"

      * "__iter__()"

      * "__len__()"

      * "__members__"

      * "__reversed__()"

    * "Enum"

      * "name"

      * "value"

      * "_name_"

      * "_value_"

      * "_order_"

      * "_ignore_"

      * "__dir__()"

      * "_generate_next_value_()"

      * "__init__()"

      * "__init_subclass__()"

      * "_missing_()"

      * "__new__()"

      * "__repr__()"

      * "__str__()"

      * "__format__()"

    * "IntEnum"

    * "StrEnum"

    * "Flag"

      * "__contains__()"

      * "__or__()"

      * "__and__()"

      * "__xor__()"

      * "_numeric_repr_()"

    * "IntFlag"

    * "ReprEnum"

    * "EnumCheck"

      * "UNIQUE"

      * "CONTINUOUS"

      * "NAMED_FLAGS"

    * "FlagBoundary"

      * "STRICT"

      * "CONFORM"

      * "EJECT"

      * "KEEP"

    * 지원되는 "__dunder__" 이름

    * 지원되는 "_sunder_" 이름

  * Utilities and Decorators

    * "auto"

    * "property()"

    * "unique()"

    * "verify()"

    * "member()"

    * "nonmember()"

    * "global_enum()"

    * "show_flag_values()"

  * Notes

* "graphlib" --- Functionality to operate with graph-like structures

  * "TopologicalSorter"

    * "add()"

    * "prepare()"

    * "is_active()"

    * "done()"

    * "get_ready()"

    * "static_order()"

  * 예외

    * "CycleError"
