内置函数memoryview()用于返回给定对象的内存视图对象。内存视图是在 Python 中公开缓冲协议的更好方法。通过创建内存视图对象,它允许您访问对象的内部缓冲区。缓冲区协议有助于访问对象的内部数据,内部数据可以是内存数组或缓冲区。

创新互联是少有的网站制作、网站设计、营销型企业网站、小程序开发、手机APP,开发、制作、设计、买链接、推广优化一站式服务网络公司,从2013年开始,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
**memoryview(obj)** # Where obj can be a byte or bytearray
只接受一个参数。这里 obj 将支持缓冲协议(字节,字节数组)。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| 目标文件 | 要公开其内部数据的对象 | 需要 |
memoryview()返回值我们还可以在内存视图中更新对象。
| 投入 | 返回值 | | 目标文件 | 内存视图对象 |
memoryview()方法的示例memoryview()在 Python 中是如何工作的? #random bytearray
random_byte_array = bytearray('ABC', 'utf-8')
mv = memoryview(random_byte_array)
# access memory view's zeroth index
print(mv[0])
# create byte from memory view
print(bytes(mv[0:2]))
# create list from memory view
print(list(mv[0:3]))
输出:
65
b'AB'
[65, 66, 67]
# random bytearray
random_byte_array = bytearray('ABC', 'utf-8')
print('Before updation:', random_byte_array)
mv = memoryview(random_byte_array)
# update 1st index of mv to Z
mv[1] = 90
print('After updation:', random_byte_array)
输出:
Before updation: bytearray(b'ABC')
After updation: bytearray(b'AZC')
barr = bytearray('Python','utf-8')
mv = memoryview(barr)
print(type(mv))
mv[0] = 65
print(barr)
输出:
bytearray(b'Aython')