完整的memoryview描述可以在此处找到:
创建一个引用obj的
memoryview
。 obj必须支持缓冲区协议。 支持缓冲区协议的内置对象包括bytes
和bytearray
。
memoryview
具有元素的概念,它是由原始对象obj处理的原子内存单元。 对于许多简单类型,如bytes
和bytearray
,元素是单个字节,但其他类型(例如array.array
)可能有更大的元素。
完整的memoryview描述可以在此处找到:
创建一个引用obj的
memoryview
。 obj必须支持缓冲区协议。 支持缓冲区协议的内置对象包括bytes
和bytearray
。
memoryview
具有元素的概念,它是由原始对象obj处理的原子内存单元。 对于许多简单类型,如bytes
和bytearray
,元素是单个字节,但其他类型(例如array.array
)可能有更大的元素。
memoryview本质上是Python中的一个广义NumPy数组结构(不包含数学计算)。它允许您在数据结构之间共享内存(诸如PIL图像,SQLite数据库,NumPy数组等)而无需首先复制。这对于大型数据集非常重要。
使用它,您可以做一些事情,比如将其内存映射到非常大的文件,对该文件的一部分进行切片并对该部分执行计算(如果您使用NumPy,则最容易)。
从文档中,我了解到它被用于“访问支持缓冲区协议的对象的内部数据而不进行复制”,因此您可以处理大量数据而不会填满内存。很遗憾,我不知道您是否需要示例。