# 抽象物件層 (Abstract Objects Layer)

本章中的函式與 Python 物件相互作用，無論其型別、或具有廣泛類別的物件型別（例如所有數值型別或所有序列型別）。當使用於不適用的物件型別時，他們會引發一個 Python 異常 (exception)。

這些函式是不可能用於未正確初始化的物件（例如一個由 `PyList_New()` 建立的 list 物件），而其中的項目沒有被設為一些非 `NULL` 的值。

- 对象协议
- 呼叫協定 (Call Protocol)
  - tp_call 協定
  - Vectorcall 協定
    - 遞迴控制
    - Vectorcall 支援 API
  - 物件呼叫 API
  - 呼叫支援 API
- 数字协议
- 序列协议
- 映射协议
- 迭代器协议
- 緩衝協定 (Buffer Protocol)
  - 缓冲区结构
  - 缓冲区请求的类型
    - 与请求无关的字段
    - 只读，格式
    - 形状，步幅，子偏移量
    - 连续性的请求
    - 复合请求
  - 复杂数组
    - NumPy-风格：形状和步幅
    - PIL-风格：形状，步幅和子偏移量
  - 缓冲区相关函数
- 舊式緩衝協定 (Buffer Protocol)