MemoryView 對象?
一個(gè) memoryview
對象C級別的 緩沖區接口 暴露為一個(gè)可以像任何其他對象一樣傳遞的 Python 對象。
-
PyObject *PyMemoryView_FromObject(PyObject *obj)?
- Return value: New reference. Part of the Stable ABI.
從提供緩沖區接口的對象創(chuàng )建 memoryview 對象。 如果 obj 支持可寫(xiě)緩沖區導出,則 memoryview 對象將可以被讀/寫(xiě),否則它可能是只讀的,也可以是導出器自行決定的讀/寫(xiě)。
-
PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)?
- Return value: New reference. Part of the Stable ABI since version 3.7.
使用 mem 作為底層緩沖區創(chuàng )建一個(gè) memoryview 對象。 flags 可以是
PyBUF_READ
或者PyBUF_WRITE
之一.3.3 新版功能.
-
PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)?
- Return value: New reference. Part of the Stable ABI since version 3.11.
創(chuàng )建一個(gè)包含給定緩沖區結構 view 的 memoryview 對象。 對于簡(jiǎn)單的字節緩沖區,
PyMemoryView_FromMemory()
是首選函數。
-
PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)?
- Return value: New reference. Part of the Stable ABI.
從定義緩沖區接口的對象創(chuàng )建一個(gè) memoryview 對象 contiguous 內存塊(在 'C' 或 'F'ortran order 中)。 如果內存是連續的,則 memoryview 對象指向原始內存。 否則,復制并且 memoryview 指向新的 bytes 對象。
-
int PyMemoryView_Check(PyObject *obj)?
如果 obj 是一個(gè) memoryview 對象則返回真值。 目前不允許創(chuàng )建
memoryview
的子類(lèi)。 此函數總是會(huì )成功執行。
-
Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)?
返回指向 memoryview 的導出緩沖區私有副本的指針。 mview 必須 是一個(gè) memoryview 實(shí)例;這個(gè)宏不檢查它的類(lèi)型,你必須自己檢查,否則你將面臨崩潰風(fēng)險。
-
Py_buffer *PyMemoryView_GET_BASE(PyObject *mview)?
返回 memoryview 所基于的導出對象的指針,或者如果 memoryview 已由函數
PyMemoryView_FromMemory()
或PyMemoryView_FromBuffer()
創(chuàng )建則返回NULL
。 mview 必須 是一個(gè) memoryview 實(shí)例。