MemoryView 객체¶
memoryview
객체는 C 수준 버퍼 인터페이스를 다른 객체와 마찬가지로 전달될 수 있는 파이썬 객체로 노출합니다.
-
PyObject *PyMemoryView_FromObject(PyObject *obj)¶
- Return value: New reference. Part of the Stable ABI.
버퍼 인터페이스를 제공하는 객체에서 memoryview 객체를 만듭니다. obj가 쓰기 가능한 버퍼 제공을 지원하면, memoryview 객체는 읽기/쓰기가 되고, 그렇지 않으면 읽기 전용이거나 제공자의 재량에 따라 읽기/쓰기가 될 수 있습니다.
-
PyBUF_READ¶
Flag to request a readonly buffer.
-
PyBUF_WRITE¶
Flag to request a writable buffer.
-
PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)¶
- Return value: New reference. Part of the Stable ABI since version 3.7.
mem를 하부 버퍼로 사용하여 memoryview 객체를 만듭니다. flags는
PyBUF_READ
나PyBUF_WRITE
중 하나일 수 있습니다.Added in version 3.3.
-
PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)¶
- Return value: New reference. Part of the Stable ABI since version 3.11.
주어진 버퍼 구조체 view를 감싸는 memoryview 객체를 만듭니다. 간단한 바이트 버퍼의 경우는,
PyMemoryView_FromMemory()
가 선호되는 함수입니다.
-
PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)¶
- Return value: New reference. Part of the Stable ABI.
버퍼 인터페이스를 정의하는 객체로부터 메모리의 연속 청크(‘C’ 나 ‘F’ortran order로)로 memoryview 객체를 만듭니다. 메모리가 연속적이면 memoryview 객체는 원래 메모리를 가리킵니다. 그렇지 않으면, 복사본이 만들어지고 memoryview는 새 바이트열 객체를 가리킵니다.
buffertype can be one of
PyBUF_READ
orPyBUF_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 인스턴스여야 합니다.