データ型
********

この章で解説されるモジュールは日付や時間、型が固定された配列、ヒープキ
ュー、両端キュー、列挙型のような種々の特殊なデータ型を提供します。

Python は 組み込みデータ型 も提供しており、主なものには "list"、
"tuple"、"dict"、"frozendict"、"set"、"frozenset" があります。 "str"
クラスは Unicode 文字列を保持するために、"bytes" と "bytearray" クラス
はバイナリデータを保持するために使用されます。

この章では以下のモジュールが記述されています:

* "datetime" --- 基本的な日付と時間の型

  * aware オブジェクトと naive オブジェクト

  * 定数

  * 利用可能な型

    * 共通の性質

    * オブジェクトが aware か naive かの判定

  * "timedelta" オブジェクト

    * 使用例: "timedelta"

  * "date" オブジェクト

    * 使用例: "date"

  * "datetime" オブジェクト

    * 使用例: "datetime"

  * "time" オブジェクト

    * 使用例: "time"

  * "tzinfo" オブジェクト

  * "timezone" オブジェクト

  * "strftime()" と "strptime()" の動作

    * "strftime()" と "strptime()" の書式コード

    * 技術的な詳細

* "zoneinfo" --- IANA タイムゾーンのサポート

  * "ZoneInfo" を使用する

  * データソース

    * データソースの設定

      * コンパイル時の設定

      * 環境変数による設定

      * 実行時の設定

  * "ZoneInfo" クラス

    * 文字列表現

    * pickle によるシリアライズ

  * 関数

  * グローバル変数

  * 例外と警告

* "calendar" --- 一般的なカレンダーに関係する機能群

  * コマンドラインでの使用

* "collections" --- コンテナデータ型

  * "ChainMap" オブジェクト

    * "ChainMap" の例とレシピ

  * "Counter" オブジェクト

  * "deque" オブジェクト

    * "deque" のレシピ

  * "defaultdict" オブジェクト

    * "defaultdict" の使用例

  * "namedtuple()" 名前付きフィールドを持つタプルのファクトリ関数

  * "OrderedDict" オブジェクト

    * "OrderedDict" の例とレシピ

  * "UserDict" オブジェクト

  * "UserList" オブジェクト

  * "UserString" オブジェクト

* "collections.abc" --- コンテナの抽象基底クラス

  * コレクション抽象基底クラス

  * コレクションの抽象基底クラス -- 詳細な説明

  * 例とレシピ

* "heapq" --- ヒープキューアルゴリズム

  * 基本的な例

  * その他の用途

  * 優先度キュー実装の注釈

  * 理論

* "bisect" --- 配列二分法アルゴリズム

  * パフォーマンスに関するメモ

  * ソート済みリストの探索

  * 使用例

* "array" --- 効率的な数値配列

* "weakref" --- 弱参照

  * 弱参照オブジェクト

  * 使用例

  * ファイナライザオブジェクト

  * ファイナライザと "__del__()" メソッドの比較

* "types" --- 動的な型生成と組み込み型の名前

  * 動的な型生成

  * 標準的なインタプリタ型

  * 追加のユーティリティクラスと関数

  * コルーチンユーティリティ関数

* "copy" --- 浅いコピーおよび深いコピー操作

* "pprint" --- データの整形表示

  * 関数

  * PrettyPrinter オブジェクト

  * 使用例

* "reprlib" --- もう一つの "repr()" の実装

  * Reprオブジェクト

  * Reprオブジェクトをサブクラス化する

* "enum" --- 列挙型のサポート

  * モジュールの内容

  * データ型

    * "__dunder__" 名のサポート

    * "_sunder_" 名のサポート

  * ユーティリティとデコレータ

  * 注釈

* "graphlib" --- グラフ構造を操作する機能

  * 例外
