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)¶
返回值:新的引用。 属于 稳定 ABI 自 3.7 版开始.

使用 mem 作为底层缓冲区创建一个 memoryview 对象。 flags �以是 PyBUF_READ 或者 PyBUF_WRITE 之一.

在 3.3 版本加入.

PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)¶
返回值:新的引用。 属于 稳定 ABI 自 3.11 版开始.

创建一个包�给定缓冲区结构 view 的 memoryview 对象。 对于简�的字节缓冲区,PyMemoryView_FromMemory() 是首选函数。

PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)¶
返回值:新的引用。 属于 稳定 ABI.

从定义缓冲区接�的对象创建一个 memoryview 对象 contiguous 内存�(在 'C' 或 'F'ortran order 中)。 如果内存是连续的,则 memoryview 对象指�原始内存。 �则,�制并且 memoryview 指�新的 bytes 对象。

buffertype �以为 PyBUF_READ 或 PyBUF_WRITE 中的一个。

int PyMemoryView_Check(PyObject *obj)¶

如果 obj 是一个 memoryview 对象则返回真值。 目���许创建 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 实例。