memoryview() メモリビュー

最終更新:2026-09-22

memoryview() メモリビュー

memoryview() はオブジェクト(bytes/bytearray など)のメモリビューを返し、基盤となるバッファにゼロコピーでアクセスできる。

カテゴリ組み込み関数
種類組み込み関数
Python バージョンall

📝 構文

memoryview(obj)

⚙️ 引数

obj 必須An object supporting the buffer protocol (e.g. bytes, bytearray).

戻り値:A memoryview object providing zero-copy access to the underlying buffer.

💥 例外

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

104 b'ell'
さらに多くのケースは近日公開予定です。

❓ よくある質問

Qmemoryview は何に使いますか?
A基礎となるデータをコピーせずにバイトデータを読み書きします。大ファイルやネットワークパケットなど性能重視の場面に適しており、スライス時のコピーを避けます。
Qmv = memoryview(b'hello') の後、mv[0] は何ですか?
A104(整数)です。bytes と同じくバイト単位でインデックスします。mv[1:4] はビューを返します。bytes に戻すには .tobytes() を使います。
Qmemoryview と普通のスライスの違いは何ですか?
Ab'hello'[1:4] は新しい bytes を作成します(データをコピー)。memoryview(b'hello')[1:4] は同じ基礎バッファを指すビューで、コピーしません。
Qバッファプロトコルをサポートしないオブジェクトに呼ぶとどうなりますか?
ATypeError になります。bytes、bytearray、array.array などバッファプロトコルをサポートするオブジェクトだけが使えます。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%