MemoryView 对象¶
一个 memoryview 对象C级别的 缓冲区接å�£ 暴露为一个å�¯ä»¥åƒ�ä»»ä½•å…¶ä»–å¯¹è±¡ä¸€æ ·ä¼ é€’çš„ Python 对象。
-
PyObject *PyMemoryView_FromObject(PyObject *obj)¶
- 返回值:新的引用。 属于 稳定 ABI.
从�供缓冲区接�的对象创建 memoryview 对象。 如果 obj 支��写缓冲区导出,则 memoryview 对象将�以被读/写,�则它�能是�读的,也�以是导出器自行决定的读/写。
-
PyBUF_READ¶
用于请求å�ªè¯»ç¼“å†²åŒºçš„æ——æ ‡ã€‚
-
PyBUF_WRITE¶
用于请求å�¯å†™ç¼“å†²åŒºçš„æ——æ ‡ã€‚
-
PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)¶
- 返回值:新的引用。 属于 稳定 ABI 自 3.7 版开始.
使用 mem 作为底层缓冲区创建一个 memoryview 对象。 flags �以是
PyBUF_READ或者PyBUF_WRITE之一.在 3.3 ç‰ˆæœ¬åŠ å…¥.
-
PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)¶
- 返回值:新的引用。 属于 稳定 ABI 自 3.11 版开始.
创建一个包å�«ç»™å®šç¼“冲区结构 view çš„ memoryview 对象。 对于简å�•çš„å—节缓冲区,
PyMemoryView_FromMemory()是首选函数。
-
PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)¶
- 返回值:新的引用。 属于 稳定 ABI.
从定义缓冲区接å�£çš„对象创建一个 memoryview 对象 contiguous 内å˜å�—(在 'C' 或 'F'ortran order ä¸ï¼‰ã€‚ å¦‚æžœå†…å˜æ˜¯è¿žç»çš„,则 memoryview 对象指å�‘原始内å˜ã€‚ å�¦åˆ™ï¼Œå¤�制并且 memoryview 指å�‘æ–°çš„ bytes 对象。
buffertype �以为
PyBUF_READ或PyBUF_WRITEä¸çš„一个。
-
int PyMemoryView_Check(PyObject *obj)¶
如果 obj 是一个 memoryview 对象则返回真值。 目���许创建
memoryviewçš„å�类。 æ¤å‡½æ•°æ€»æ˜¯ä¼šæˆ�功执行。
-
Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)¶
返回指å�‘ memoryview 的导出缓冲区ç§�有副本的指针。 mview å¿…é¡» 是一个 memoryview 实例;这个å®�ä¸�æ£€æŸ¥å®ƒçš„ç±»åž‹ï¼Œä½ å¿…é¡»è‡ªå·±æ£€æŸ¥ï¼Œå�¦åˆ™ä½ å°†é�¢ä¸´å´©æºƒé£Žé™©ã€‚
-
PyObject *PyMemoryView_GET_BASE(PyObject *mview)¶
返回 memoryview 所基于的导出对象的指针,或者如果 memoryview 已由函数
PyMemoryView_FromMemory()或PyMemoryView_FromBuffer()创建则返回NULL。 mview 必须 是一个 memoryview 实例。