# 抽象对象层

本章中的函数与 Python对象交互，无论其类型，或具有广泛类的对象类型（例如，所有数值类型，或所有序列类型）。当使用对象类型并不适用时，他们会产生一个 Python 异常。

这些函数是不可能用于未正确初始化的对象的，如一个列表对象被 `PyList_New()` 创建，但其中的项目没有被设置为一些非 `NULL` 的值。

- 对象协议
- 调用协议
  - tp_call 协议
  - Vectorcall 协议
    - 递归控制
    - Vectorcall 支持 API
  - 调用对象的 API
  - 调用支持 API
- 数字协议
- 序列协议
- 映射协议
- 迭代器协议
- 缓冲协议
  - 缓冲区结构
  - 缓冲区请求的类型
    - 与请求无关的字段
    - 只读，格式
    - 形状，步幅，子偏移量
    - 连续性的请求
    - 复合请求
  - 复杂数组
    - NumPy-风格：形状和步幅
    - PIL-风格：形状，步幅和子偏移量
  - 缓冲区相关函数
- 旧缓冲协议