# 具体的对象层

本章中的函数特定于某些 Python 对象类型。 将错误类型的对象传递给它们并不是一个好主意；如果您从 Python 程序接收到一个对象，但不确定它是否具有正确的类型，则必须首先执行类型检查；例如，要检查对象是否为字典，请使用 `PyDict_Check()`。 本章的结构类似于 Python 对象类型的“家族树”。

警告

虽然本章所描述的函数会仔细检查传入对象的类型，但是其中许多函数不会检查传入的对象是否为 `NULL`。 允许传入 `NULL` 可能导致内存访问冲突和解释器的立即终止。

## 基本对象

本节描述Python类型对象和单一实例对象 象None。

- Type 对象
  - Creating Heap-Allocated Types
- `None` 对象

## 数值对象

- 整數物件
- 布林物件
- 浮點數（Floating Point）物件
- 复数对象
  - 表示复数的C结构体
  - 表示复数的Python对象

## 序列对象

序列对象的一般操作在前一章中讨论过;本节介绍Python语言固有的特定类型的序列对象。

- 字节对象
- 字节数组对象
  - 类型检查宏
  - 直接 API 函数
  - 宏
- Unicode物件與編碼
  - Unicode对象
    - Unicode类型
    - Unicode字符属性
    - Creating and accessing Unicode strings
    - Deprecated Py_UNICODE APIs
    - Locale Encoding
    - File System Encoding
    - wchar_t Support
  - Built-in Codecs
    - Generic Codecs
    - 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
    - MBCS codecs for Windows
    - Methods & Slots
  - Methods and Slot Functions
- 元組（Tuple）物件
- Struct Sequence Objects
- List（串列）物件

## 容器对象

- 字典物件
- 集合对象

## 函式物件

- 函式（Function）物件
- 實體方法物件
- 方法对象
- Cell 物件
- 代码对象

## 其他对象

- 檔案（File）物件
- 模組物件模組
  - Initializing C modules
    - Single-phase initialization
    - Multi-phase initialization
    - Low-level module creation functions
    - Support functions
  - Module lookup
- 迭代器（Iterator）物件
- 修飾器物件
- 切片物件
- Ellipsis Object
- MemoryView 对象
- 弱參照物件
- 胶囊
- 產生器物件
- 协程对象
- 上下文变量对象
- DateTime 物件