# 具体的对象层

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

警告

While the functions described in this chapter carefully check the type of the objects which are passed in, many of them do not check for NULL being passed instead of a valid object. Allowing NULL to be passed in can cause memory access violations and immediate termination of the interpreter.

## 基本对象

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

- 类型对象
- `None` 对象

## 数值对象

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

## 序列对象

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

- bytes 对象
- 字节数组对象
  - 类型检查宏
  - 直接 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 物件