具象オブジェクト (concrete object) レイヤ
*****************************************

この章では、特定の Python オブジェクト型固有の関数について述べています
。これらの関数に間違った型のオブジェクトを渡すのは良い考えではありませ
ん; Python プログラムから何らかのオブジェクトを受け取ったとき、そのオ
ブジェクトが正しい型になっているか確信をもてないのなら、まず型チェック
を行わなければなりません; 例えば、あるオブジェクトが辞書型か調べるには
、 "PyDict_Check()" を使います。この章は Python のオブジェクト型におけ
る "家計図" に従って構成されています。

警告:

  この章で説明する関数は、渡されたオブジェクトの型を入念に確認しますが
  、多くは有効なオブジェクトの代わりに "NULL" が渡されたかどうかを確認
  しません。 "NULL" を渡してしまうと、メモリアクセス違反が起きたり、イ
  ンタープリタが直ちに終了したりする可能性があります。


基本オブジェクト (fundamental object)
=====================================

この節では、Python の型オブジェクトとシングルトン(singleton)オブジェク
ト "None" について述べます。

* 型オブジェクト

  * ヒープに割り当てられる型の作成

    * 型のスロット ID

  * 緩やかに非推奨となった API

* "None" オブジェクト


数値型オブジェクト (numeric object)
===================================

* 整数型オブジェクト (integer object)

  * ビルド設定

  * エクスポート API

  * PyLongWriter API

  * 非推奨の API

* Boolean オブジェクト

* 浮動小数点オブジェクト

  * パック関数とアンパック関数

    * パック関数

    * アンパック関数

* 複素数オブジェクト

  * C 構造体としての複素数


シーケンスオブジェクト (sequence object)
========================================

シーケンスオブジェクトに対する一般的な操作については前の章ですでに述べ
ました; この節では、Python 言語にもともと備わっている特定のシーケンス
オブジェクトについて扱います。

* バイトオブジェクト

* PyBytesWriter

  * 作成、完了、破棄

  * 高レベルAPI

  * 値の取得

  * 低レベルAPI

  * 文字列 "b'abc'" を作成する例

  * "PyBytes_FromStringAndSize()" を使うコードの更新

  * "_PyBytes_Resize()" を使うコードの更新

* bytearray オブジェクト

  * 型チェックマクロ

  * ダイレクト API 関数

  * マクロ

* Unicode オブジェクトと codec

  * Unicode オブジェクト

    * Unicode 型

    * Unicode 文字プロパティ

    * Unicode 文字列の生成とアクセス

    * ロケールエンコーディング

    * ファイルシステムエンコーディング

    * wchar_t サポート

  * 組み込み codec (built-in codec)

    * 汎用 codec

    * UTF-8 Codecs

    * UTF-32 Codecs

    * UTF-16 Codecs

    * UTF-7 Codecs

    * Unicode-Escape Codecs

    * Raw-Unicode-Escape Codecs

    * Latin-1 Codecs

    * ASCII Codecs

    * Character Map Codecs

    * Windows 用の MBCS codec

  * メソッドおよびスロット関数 (slot function)

  * PyUnicodeWriter

  * 非推奨の API

* タプルオブジェクト (tuple object)

* Struct Sequence オブジェクト

* リストオブジェクト


Container オブジェクト
======================

* 辞書オブジェクト

  * 辞書ビューオブジェクト

  * 凍結された辞書オブジェクト

  * 順序付き辞書

* Set オブジェクト

  * 非推奨の API


Function オブジェクト
=====================

* Function オブジェクト

* インスタンスメソッドオブジェクト(Instance Method Objects)

* メソッドオブジェクト

* セルオブジェクト (cell object)

* コードオブジェクト

* コードオブジェクトのフラグ

* 追加情報


その他のオブジェクト
====================

* ファイルオブジェクト

  * ソフト非推奨の API

* モジュールオブジェクト (module object)

  * モジュールの定義

    * メタデータのスロット

    * 対応機能のスロット

    * 作成と初期化のスロット

  * モジュール状態

    * モジュール状態を定義するスロット

    * モジュールトークン

  * 拡張モジュールの動的な作成

  * モジュール定義構造体

  * サポート関数

    * モジュールの検索 (一段階初期化)

* イテレータオブジェクト (iterator object)

  * range オブジェクト

  * 組み込みのイテレータ型

  * その他のイテレータオブジェクト

* デスクリプタオブジェクト (descriptor object)

  * 組み込みデスクリプタ

* スライスオブジェクト (slice object)

  * Ellipsis オブジェクト

* memoryview オブジェクト

* pickle バッファオブジェクト

* 弱参照オブジェクト

* カプセル

* 番兵オブジェクト

* フレーム (frame) オブジェクト

  * フレームのローカル変数のプロキシ

  * 従来のローカル変数 API

  * 内部フレーム

* ジェネレータオブジェクト

  * 非同期ジェネレータオブジェクト

  * 非推奨の API

* コルーチンオブジェクト

* コンテキスト変数オブジェクト

* 型ヒントのためのオブジェクト


拡張モジュール用の C API
========================

* Curses C API

* 内部データ

* DateTime オブジェクト

* 内部データ
