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