Python bytes() 関数

Python3 内置函数Python3 組み込み関数


bytes()Pythonで不変のバイトシーケンスを作成するための組み込み関数です。

バイトシーケンス(bytes)は、Pythonでバイナリデータを処理するための基本的な型であり、ファイルの読み書き、ネットワーク転送、画像処理などの場面でよく使用されます。bytesは不変であり、作成後に変更することはできません。

単語の意味: bytes「バイト」を意味し、Pythonのバイナリデータ型です。


基本構文とパラメータ

構文形式

bytes(source)
bytes(source, encoding)
bytes(source, encoding, errors)

パラメータの説明

  • パラメータ source:
    • 型:整数、反復可能オブジェクト、文字列
    • 説明:バイトシーケンスを初期化するためのソースデータ。
  • パラメータ encoding(オプション):
    • 型:文字列
    • 説明:文字列のエンコーディング形式(例:'utf-8')。
  • パラメータ errors(オプション):
    • 型:文字列
    • 説明:エンコーディングエラーの処理方法。

関数の説明

  • 戻り値:不変のbytesオブジェクトを返します。
  • 特徴:bytes内の各要素は0〜255の整数です。

インスタンス

例1:bytesの作成

インスタンス

# 指定した長さのbytesを作成
b = bytes(5)
print(b)           # 出力: b'\x00\x00\x00\x00\x00'

# 反復可能オブジェクトから作成
b = bytes([72, 101, 108, 108, 111])
print(b)           # 出力: b'Hello'

# 文字列から作成(エンコーディングが必要)
b = bytes("你好", encoding='utf-8')
print(b)          # 出力: b'\xe4\xbd\xa0\xe5\xa5\xbd'

# リテラルを使用
b = b"Hello"
print(b)          # 出力: b'Hello'

実行結果の予想:

b'\x00\x00\x00\x00\x00'
b'Hello'
b'\xe4\xbd\xa0\xe5\xa5\xbd'
b'Hello'

コードの解説:

  1. bytes(5) は5つのゼロバイトを作成します。
  2. 反復可能オブジェクトの要素は0〜255の整数である必要があります。
  3. 文字列変換にはエンコーディング形式の指定が必要です。

例2:bytesの操作

インスタンス

# バイトにアクセス
b = b"Hello"
print(b[0])       # 出力: 72
print(b[1])       # 出力: 101

# スライス
print(b[1:4])     # b'ell'

# 反復処理
for byte in b"ABC":
    print(byte, end=" ")
print()  # 出力: 65 66 67

# 文字列に戻す
b = b"Hello"
s = b.decode('utf-8')
print(s)  # 出力: Hello

# bytesは不変です
# b

実行結果の予想:

72
101
b'ell'
65 66 67
Hello

bytesはインデックス、スライス、反復処理などの操作をサポートしますが、要素を変更することはできません。


Python3 内置函数Python3 組み込み関数


その他の拡張