MemoryView对象 – 具体对象层(Python教程)(参考资料)
MemoryView对象
一个memoryview
对象将C级缓冲区接口暴露为Python对象,然后可以像其他对象一样传递
- PyObject *
PyMemoryView_FromObject
( PyObject *obj) - Return value: New reference.
从提供缓冲接口的对象创建一个memoryview对象。如果obj支持可写缓冲区导出,memoryview对象将被读/写,否则它可能是只读或读/写导出器的分布.
- PyObject *
PyMemoryView_FromMemory
( char *mem,Py_ssize_t size,int flags) - Return value: New reference.
使用mem创建一个memoryview对象作为底层缓冲区.flags可以是
PyBUF_READ
或PyBUF_WRITE
.中的一个。版本3.3.
- PyObject *
PyMemoryView_FromBuffer
(Py_buffer *view) - Return value: New reference.
创建一个包含给定缓冲区结构的memoryview对象view。对于简单的字节缓冲区,
PyMemoryView_FromMemory()
是首选函数.
- PyObject *
PyMemoryView_GetContiguous
( PyObject *obj,int buffertype,char order) - Return value: New reference.
创建一个memoryview对象到连续记忆的大块(在’C’或’F’ortran order)来自定义缓冲区接口的对象。如果内存是连续的,则memoryview对象指向原始内存。否则,复制并且memoryview指向一个新的字节对象.
- int
PyMemoryView_Check
( PyObject *obj) - 如果对象obj是一个memoryview对象,则返回true。目前不允许创建
memoryview
.
- Py_buffer *
PyMemoryView_GET_BUFFER
的子类( PyObject *mview) - 返回一个指向memoryview的导出缓冲区的私有副本的指针.mview must是一个内存视图实例;这个宏不检查它的类型,你必须自己做,否则你会冒险崩溃.
- Py_buffer *
PyMemoryView_GET_BASE
( PyObject *mview) - 返回指向memoryview所基于的导出对象的指针或NULL如果内存视图是由其中一个函数创建的
PyMemoryView_FromMemory()
或PyMemoryView_FromBuffer()
.mview 必须是一个记忆视图实例.
评论被关闭。