\

Python 3では、bytesbytearrayという2つのデータ型があります。これらはどちらもバイトの配列を保持しますが、それぞれのバイトは0から255の値を取ることができます。

bytesオブジェクトはイミュータブル(不変)で、一度作成するとその要素を変更することはできません。一方、bytearrayオブジェクトはミュータブル(可変)で、その要素を変更することが可能です。

bytesbytearrayは、文字列をエンコードおよびデコードする関数を提供します。

# bytesの作成
b = bytes(5)  # b'\x00\x00\x00\x00\x00'
b = bytes([116, 117, 118])  # b'tuv'
b = bytes('tuv', 'utf-8')  # b'tuv'
b = 'tuv'.encode('utf-8')  # b'tuv'

# bytearrayの作成
ba = bytearray(5)  # bytearray(b'\x00\x00\x00\x00\x00')
ba = bytearray([116, 117, 118])  # bytearray(b'tuv')
ba = bytearray('tuv', 'utf-8')  # bytearray(b'tuv')

# bytearrayは要素を変更できる
ba[0] = 115  # bytearray(b'suv')

bytesbytearrayオブジェクトは+演算子を使用して連結することができます。連結結果は最初の引数の型を取ります。つまり、a+bbytesオブジェクトを、b+abytearrayを生成します。

a = bytes(3)  # b'\x00\x00\x00'
b = bytearray(4)  # bytearray(b'\x00\x00\x00\x00')
c = a + b  # b'\x00\x00\x00\x00\x00\x00\x00'
d = b + a  # bytearray(b'\x00\x00\x00\x00\x00\x00\x00')

bytesbytearrayオブジェクトは、decode関数を使用して文字列に変換することができます。

以上がPythonのbytesbytearrayについての基本的な説明です。これらのデータ型を理解し、適切に使用することで、Pythonプログラミングの幅が広がります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です