MemoryView 物件¶
memoryview
物件將 C 級別的 緩衝區介面 作為 Python 物件公開,然後可以像任何其他物件一樣傳遞。
-
PyObject *PyMemoryView_FromObject(PyObject *obj)¶
- 返回值:新的引用。 穩定 ABI 的一部分。
從提供緩衝區介面的物件建立 memoryview 物件。如果 obj 支援可寫緩衝區匯出,則 memoryview 物件將是可讀/寫的,否則它可能是隻讀的或讀/寫的,由匯出器自行決定。
-
PyBUF_READ¶
請求只讀緩衝區的標誌。
-
PyBUF_WRITE¶
請求可寫緩衝區的標誌。
-
PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)¶
- 返回值:新的引用。 自 3.7 版本以來,屬於 穩定 ABI 的一部分。
使用 mem 作為底層緩衝區建立 memoryview 物件。flags 可以是
PyBUF_READ
或PyBUF_WRITE
之一。在 3.3 版本中新增。
-
PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)¶
- 返回值:新的引用。 自 3.11 版本以來,屬於 穩定 ABI 的一部分。
建立包裝給定緩衝區結構 view 的 memoryview 物件。對於簡單的位元組緩衝區,
PyMemoryView_FromMemory()
是首選函式。
-
PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)¶
- 返回值:新的引用。 穩定 ABI 的一部分。
從定義緩衝區介面的物件建立指向連續記憶體塊的 memoryview 物件(採用 ‘C’ 或 ‘F’ortran order )。如果記憶體是連續的,則 memoryview 物件指向原始記憶體。否則,會建立一個副本,並且 memoryview 指向一個新的位元組物件。
buffertype 可以是
PyBUF_READ
或PyBUF_WRITE
之一。
-
int PyMemoryView_Check(PyObject *obj)¶
如果物件 obj 是 memoryview 物件,則返回 true。目前不允許建立
memoryview
的子類。此函式始終成功。
-
Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)¶
返回指向 memoryview 的匯出器的緩衝區私有副本的指標。mview 必須是 memoryview 例項;此宏不檢查其型別,您必須自己檢查,否則您將面臨崩潰的風險。
-
PyObject *PyMemoryView_GET_BASE(PyObject *mview)¶
返回指向 memoryview 基於的匯出物件的指標,如果 memoryview 是由函式
PyMemoryView_FromMemory()
或PyMemoryView_FromBuffer()
建立的,則返回NULL
。 mview 必須是 memoryview 例項。