MemoryView 객체¶
memoryview
객체는 C 수준 버퍼 인터페이스를 다른 객체와 마찬가지로 전달될 수 있는 파이썬 객체로 노출합니다.
-
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.
주어진 버퍼 구조체 view를 감싸는 memoryview 객체를 만듭니다. 간단한 바이트 버퍼의 경우는,
PyMemoryView_FromMemory()
가 선호되는 함수입니다.
-
PyObject *
PyMemoryView_GetContiguous
(PyObject *obj, int buffertype, char order)¶ - Return value: New reference.
버퍼 인터페이스를 정의하는 객체로부터 메모리의 연속 청크(‘C’ 나 ‘F’ortran order로)로 memoryview 객체를 만듭니다. 메모리가 연속적이면 memoryview 객체는 원래 메모리를 가리킵니다. 그렇지 않으면, 복사본이 만들어지고 memoryview는 새 바이트열 객체를 가리킵니다.
-
int
PyMemoryView_Check
(PyObject *obj)¶ 객체 obj가 memoryview 객체면 참을 반환합니다. 현재는
memoryview
의 서브 클래스를 만들 수 없습니다.
-
Py_buffer *
PyMemoryView_GET_BUFFER
(PyObject *mview)¶ 제공자 버퍼의 memoryview의 비공개 복사본의 포인터를 돌려줍니다. mview는 반드시 memoryview 인스턴스여야 합니다; 이 매크로는 형을 확인하지 않으므로 직접 검사해야 합니다, 그렇지 않으면 충돌 위험이 있습니다.
-
Py_buffer *
PyMemoryView_GET_BASE
(PyObject *mview)¶ memoryview가 기반으로 하는 제공자 객체에 대한 포인터나 memoryview가
PyMemoryView_FromMemory()
나PyMemoryView_FromBuffer()
함수 중 하나로 만들어졌으면NULL
을 반환합니다. mview는 반드시 memoryview 인스턴스여야 합니다.