Tipe Data
*********

Modul yang dijelaskan dalam bab ini menyediakan berbagai tipe data
khusus seperti tanggal dan waktu, array tipe-tetap, antrian tumpukan,
antrian ujung ganda, dan enumerasi.

Python juga menyediakan beberapa tipe data bawaan, khususnya, "dict",
"list", "set" dan "frozenset", dan "tuple". Kelas "str" digunakan
untuk menyimpan string Unicode, dan "bytes" dan "bytearray" kelas
digunakan untuk menyimpan data biner.

Modul-modul berikut didokumentasikan dalam bab ini:

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

  * Aware and Naive Objects

  * Konstanta

  * Available Types

    * Common Properties

    * Determining if an Object is Aware or Naive

  * "timedelta" Objects

    * Examples of usage: "timedelta"

  * "date" Objects

    * Examples of Usage: "date"

  * "datetime" Objects

    * Examples of Usage: "datetime"

  * "time" Objects

    * Examples of Usage: "time"

  * "tzinfo" Objects

  * "timezone" Objects

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

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

    * Technical Detail

* "zoneinfo" --- IANA time zone support

  * Using "ZoneInfo"

  * Data sources

    * Configuring the data sources

      * Compile-time configuration

      * Environment configuration

      * Runtime configuration

  * The "ZoneInfo" class

    * String representations

    * Pickle serialization

  * Functions

  * Globals

  * Exceptions and warnings

* "calendar" --- Fungsi-fungsi umum yang terkait dengan modul calendar

* "collections" --- Container datatypes

  * objek "ChainMap"

    * "ChainMap" Examples and Recipes

  * objek "Counter"

  * objek "deque"

    * "deque" Recipes

  * objek "defaultdict"

    * Contoh "defaultdict"

  * "namedtuple()" Factory Function for Tuples with Named Fields

  * objek "OrderedDict"

    * "OrderedDict" Examples and Recipes

  * objek "UserDict"

  * objek "UserList"

  * objek "UserString"

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

  * Collections Abstract Base Classes

* "heapq" --- Heap queue algorithm

  * Basic Examples

  * Priority Queue Implementation Notes

  * Theory

* "bisect" --- Array bisection algorithm

  * Searching Sorted Lists

  * Other Examples

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

* "weakref" --- Weak references

  * Weak Reference Objects

  * Contoh

  * Finalizer Objects

  * Comparing finalizers with "__del__()" methods

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

  * Dynamic Type Creation

  * Standard Interpreter Types

  * Additional Utility Classes and Functions

  * Coroutine Utility Functions

* "copy" --- Operasi shallow copy dan deep copy

* "pprint" --- Data pretty printer

  * PrettyPrinter Objects

  * Contoh

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

  * Repr Objects

  * Subclassing Repr Objects

* "enum" --- Support for enumerations

  * Modul-Modul

  * Creating an Enum

  * Programmatic access to enumeration members and their attributes

  * Duplicating enum members and values

  * Ensuring unique enumeration values

  * Using automatic values

  * Iteration

  * Perbandingan

  * Allowed members and attributes of enumerations

  * Restricted Enum subclassing

  * Pickling

  * Functional API

  * Derived Enumerations

    * IntEnum

    * IntFlag

    * Penanda

    * Others

  * When to use "__new__()" vs. "__init__()"

  * Interesting examples

    * Omitting values

      * Using "auto"

      * Using "object"

      * Using a descriptive string

      * Using a custom "__new__()"

    * OrderedEnum

    * DuplicateFreeEnum

    * Planet

    * TimePeriod

  * How are Enums different?

    * Enum Classes

    * Enum Members (aka instances)

    * Finer Points

      * Supported "__dunder__" names

      * Supported "_sunder_" names

      * _Private__names

      * "Enum" member type

      * Boolean value of "Enum" classes and members

      * "Enum" classes with methods

      * Combining members of "Flag"

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

  * Exceptions
