MemoryViewオブジェクト
memoryview オブジェクトは、CレベルのバッファインターフェイスをPythonオブジェクトとして公開し、他のオブジェクトと同じように渡すことができます。
- バッファインターフェイスを提供するオブジェクトからmemoryviewオブジェクトを作成します。 obj が書き込み可能なバッファーのエクスポートをサポートしている場合、memoryviewオブジェクトは読み取り/書き込みになります。それ以外の場合は、エクスポーターの裁量で読み取り専用または読み取り/書き込みのいずれかになります。
- PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)
mem を基になるバッファーとして使用して、memoryviewオブジェクトを作成します。 フラグは、
PyBUF_READ
またはPyBUF_WRITE
のいずれかになります。バージョン3.3の新機能。
- 指定されたバッファ構造 view をラップするmemoryviewオブジェクトを作成します。 単純なバイトバッファの場合、 PyMemoryView_FromMemory()が推奨される関数です。
- バッファインターフェイスを定義するオブジェクトから、メモリの連続チャンク(「C」または「F」ortran order )にmemoryviewオブジェクトを作成します。 メモリが連続している場合、memoryviewオブジェクトは元のメモリを指します。 それ以外の場合は、コピーが作成され、memoryviewが新しいbytesオブジェクトを指します。
- int PyMemoryView_Check(PyObject *obj)
- オブジェクト obj がmemoryviewオブジェクトの場合はtrueを返します。 現在、 memoryview のサブクラスを作成することは許可されていません。
- エクスポータのバッファのmemoryviewのプライベートコピーへのポインタを返します。 mview はmemoryviewインスタンスである必要があります。 このマクロはそのタイプをチェックしません。自分でチェックする必要があります。そうしないと、クラッシュする危険があります。
- メモリビューが基になっているエクスポートオブジェクトへのポインタを返すか、メモリビューが関数 PyMemoryView_FromMemory()または PyMemoryView_FromBuffer()のいずれかによって作成されている場合は
NULL
を返します。 ]。 mview はmemoryviewインスタンスである必要があります。