この記事では、Pythonのbytes関数の使い方について、初心者でも理解できるように詳しく解説します。
具体的なソースコード例を交えながら、bytes関数の基本的な使い方から応用までを学んでいきましょう。
bytes関数の基本
Pythonのbytes関数は、バイトオブジェクトを作成するための組み込み関数です。
バイトオブジェクトは、0から255の範囲の整数を要素とするイミュータブル(変更不能)なシーケンスです。
ソースコード例
1 2 3 |
# bytes関数の基本的な使い方 b = bytes([97, 98, 99, 100, 101]) print(b) |
出力結果
b'abcde'
bytes関数とASCIIコード
これはASCIIコードを利用しています。
ASCIIコードは、文字と数字を対応させる方式の一つです。
上記の例では、リストの要素がそれぞれ97, 98, 99, 100, 101となっていますが、これはASCIIコードで'a', 'b', 'c', 'd', 'e'に対応しています。
PythonはこのASCIIコードを自動的に文字に変換するため、'abcde'と表示されました。
bytes関数の引数
bytes関数は、引数としてリストだけでなく、文字列や整数も受け取ることができます。
それぞれの引数がどのようにbytesオブジェクトを作成するかを見てみましょう。
ソースコード例
1 2 3 4 5 6 7 8 |
# 整数を引数に取る場合 b = bytes(5) print(b) # 文字列を引数に取る場合 s = "Hello, Python!" b = bytes(s, 'utf-8') print(b) |
出力結果
b'\x00\x00\x00\x00\x00'
b'Hello, Python!'
bytes関数の引数の詳細
整数を引数にした場合、その整数の数だけ0バイトから成るバイト列が作られます。
それに対して、文字列を引数にした場合は、二つ目の引数にエンコーディング(ここでは'utf-8')を指定する必要があります。
このエンコーディングにより、文字列がどのようにバイト列に変換されるかが決まります。
bytes関数の応用
bytes関数は、バイナリデータを扱う際に非常に便利です。
たとえば、ネットワークを介してデータを送受信する場合や、バイナリファイルを読み書きする場合などに利用されます。
ソースコード例
1 2 3 4 |
# バイナリデータの扱い with open('test.bin', 'wb') as f: b = bytes([97, 98, 99, 100, 101]) f.write(b) |
まとめ
この記事では、Pythonのbytes関数の使い方について詳しく解説しました。
bytes関数は、整数、文字列、リストなどを引数に取り、それらをバイト列に変換します。
バイト列は、ネットワーク通信やバイナリファイルの扱いなど、様々な場面で活用することができます。
この記事がPythonのbytes関数の理解に役立ったなら、大変嬉しいです。