memoryview() 内存视图

最后更新:2026-09-22

memoryview() 内存视图

memoryview() 返回对象(如 bytes/bytearray)的内存视图,可零拷贝访问底层缓冲区。

分类内置函数
类型内置函数
Python 版本all

📝 语法

memoryview(obj)

⚙️ 参数

obj 必选支持缓冲区协议的对象(如 bytes、bytearray)。

返回值:返回内存视图对象,可零拷贝地读取底层缓冲区数据。

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

104 b'ell'
更多实战案例即将上线,敬请期待。

❓ 常见问题

Qmemoryview 有什么用?
A在不复制底层数据的前提下读取/操作字节数据,适合大文件、网络包等性能敏感场景,避免切片时复制。
Qmv = memoryview(b'hello') 后 mv[0] 是什么?
A是 104(整数),与 bytes 一样按字节索引取值;mv[1:4] 返回视图,要转 bytes 用 .tobytes()。
Qmemoryview 和普通切片有什么区别?
Ab'hello'[1:4] 会创建新的 bytes(数据拷贝);memoryview(b'hello')[1:4] 是视图,指向同一块底层缓冲,不复制。
Q对不支持缓冲区协议的对象调用会怎样?
A抛 TypeError,只有 bytes、bytearray、array.array 等支持缓冲区协议的对象可用。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏