Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么时候应该使用memoryview?_Python_Python 3.x_Memoryview - Fatal编程技术网

Python 什么时候应该使用memoryview?

Python 什么时候应该使用memoryview?,python,python-3.x,memoryview,Python,Python 3.x,Memoryview,有关memoryview的完整说明,请参见: 创建一个引用obj的memoryview。obj必须支持缓冲协议。支持缓冲区协议的内置对象包括字节和字节数组 memoryview具有元素的概念,元素是由原始对象obj处理的原子内存单元。对于许多简单类型,如字节和字节数组,元素是单个字节,但其他类型,如数组。数组可能有更大的元素 从文档中,我认为它用于“访问支持缓冲区协议的对象的内部数据,而无需复制”,因此您可以使用大量数据来完成操作,而无需占用内存。我不知道您是否需要示例,但不幸的是,我想不出任何

有关memoryview的完整说明,请参见:

创建一个引用obj的
memoryview
。obj必须支持缓冲协议。支持缓冲区协议的内置对象包括
字节
字节数组

memoryview
具有元素的概念,元素是由原始对象obj处理的原子内存单元。对于许多简单类型,如
字节
字节数组
,元素是单个字节,但其他类型,如
数组。数组
可能有更大的元素


从文档中,我认为它用于“访问支持缓冲区协议的对象的内部数据,而无需复制”,因此您可以使用大量数据来完成操作,而无需占用内存。我不知道您是否需要示例,但不幸的是,我想不出任何示例。

memoryview本质上是Python本身的一种广义NumPy数组结构(没有数学)。它允许您在数据结构(如PIL映像、SQLlite数据库、NumPy数组等)之间共享内存,而无需首先进行复制。这对于大型数据集非常重要


有了它,您可以做一些事情,比如将内存映射到一个非常大的文件,对该文件的一部分进行切片,并对该部分进行计算(如果您使用的是NumPy,则最简单)

谢谢,但我在文件中也读到了这一点,它的信息量不大。我从谷歌那里也问了同样的问题,刚刚发现