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