
151
4.8 辞書オブジェクト
>>> spam
bytearray(b'maps')
bytearray
型 と
bytes
型は、どちらもバイト列を操作する型で、メソッドなどもほぼ同じですが、
この 2 つの型は継承関係にはなく、独立した異なる型です。
>>> issubclass(bytes, bytearray)
False
>>> issubclass(bytearray, bytes)
False
しかし、ドキュメント上では 「バイト列」と指定されている関数の引数などには、ほとんどの場合
bytearray
型オブジェクトも使用できます。ファイルの出力やファイル操作などは、バイト列の代
わりに
bytearray
型オブジェクトでも同じように行えます。
これは、バイト列オブジェクトを引数として要求する関数などは、ほとんどの場合、バイト列のデー
タを読み込むために、「バッファ
プロトコル」というインターフェースを使用しているためです。
bytearray
型オブジェクトもバッファプロトコルをサポートしており、バイト列オブジェクトとし
て、おなじように使えるようになっています。
バッファプロトコルは
memoryview
オブジェクトや
array
モジュールの
array
オブジェクトなどで
もサポートされており、
bytearray
と同じように、バイト列の代わりに使用できます。
4.8
辞書オブジェクト
辞書オブジェクトは、一般に連想配列などと呼ばれるデータ構造です。辞書には、キーと、キー
に関連付けられた値の組を要素として登録し、登録した値は ...