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

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

警告

この章で述べている関数は、渡されたオブジェクトの型を注意深くチェックしはするものの、多くの関数は渡されたオブジェクトが有効な NULL なのか有効なオブジェクトなのかをチェックしません。これらの関数に NULL を渡させてしまうと、関数はメモリアクセス違反を起こして、インタプリタを即座に終了させてしまうはずです。

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

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

- 型オブジェクト
- `None` オブジェクト

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

- (通常)整数型オブジェクト (plain integer object)
- Boolean オブジェクト
- 長整数型オブジェクト (long integer object)
- 浮動小数点型オブジェクト (floating point object)
- 複素数オブジェクト (complex number object)
  - C 構造体としての複素数
  - Python オブジェクトとしての複素数型

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

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

- bytearray オブジェクト
  - 型チェックマクロ
  - ダイレクト API 関数
  - マクロ
- 文字列とバイト列オブジェクト
- Unicode オブジェクトと codec
  - Unicode オブジェクト
    - Unicode 型
    - Unicode 文字プロパティ
    - Plain Py_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)
- buffer オブジェクトと memoryview オブジェクト
  - 新スタイル Py_buffer 構造体
  - バッファ関連関数
  - memoryview オブジェクト
  - 旧スタイルバッファオブジェクト
- タプルオブジェクト (tuple object)
- リストオブジェクト

## マップ型オブジェクト (mapping object)

- 辞書オブジェクト (dictionary object)

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

- クラスとインスタンスオブジェクト
- Function オブジェクト
- メソッドオブジェクト
- ファイルオブジェクト
- モジュールオブジェクト (module object)
- イテレータオブジェクト (iterator object)
- デスクリプタオブジェクト (descriptor object)
- スライスオブジェクト (slice object)
- Ellipsis オブジェクト
- 弱参照オブジェクト
- カプセル
- Cオブジェクト (CObject)
- セルオブジェクト (cell object)
- ジェネレータオブジェクト
- DateTime オブジェクト
- Set オブジェクト
- コードオブジェクト