Python bytearray() 函式



**Python bytearray() 函式** 返回一個新的位元組陣列。它是一個可變的整數序列,範圍為 **0 <= x < 256**。此函式可以將指定的物件轉換為 bytearray 物件,或者可以建立所需大小的空 bytearray 物件。它是 Python 中的內建函式 之一。

位元組陣列可以從以下來源建立 -

  • 字串 - 我們可以透過使用 str.encode() 將字串編碼為位元組來從字串建立 bytearray。

  • 整數 - 如果源是整數,則將建立一個具有指定大小的空值的 陣列

  • 物件 - 在這種情況下,只讀緩衝區用於初始化位元組陣列。

  • 可迭代物件 - 建立一個大小等於可迭代物件長度的陣列。

  • 無源 - 如果未指定源,則建立一個大小為 0 的位元組陣列。

語法

以下是 Python **bytearray()** 函式的語法 -

bytearray(source)
or,
bytearray(source, encoding)
or,
bytearray(source, encoding, errors)

引數

Python **bytearray()** 函式接受三個引數,所有引數都是可選的 -

  • source - 它表示一個物件,例如列表、字串或元組。

  • encoding - 它表示傳遞字串的編碼。

  • errors - 它指定編碼失敗時所需的動作。

返回值

Python **bytearray()** 函式返回一個新的位元組陣列。

bytearray() 函式示例

練習以下示例以瞭解在 Python 中使用 **bytearray()** 函式。

示例:使用 bytearray() 函式

以下示例顯示了 Python bytearray() 函式的使用。在這裡,我們建立一個空的 bytearray。

empByte_array = bytearray()
print("It is an example of empty bytearray:", empByte_array)

當我們執行上述程式時,它會產生以下結果 -

It is an example of empty bytearray: bytearray(b'')

示例:使用 bytearray() 將字串轉換為 bytearray 物件

在下面的程式碼中,我們將給定的 字串 轉換為位元組陣列。為此,我們透過將字串和編碼作為引數值傳遞給 bytearray() 函式。

byte_arrayStr = "Tutorials Point bytearray"
str_byte_array = bytearray(byte_arrayStr, 'utf-8')
print("Creating bytearray from string:")
print(str_byte_array)

以下是上述程式碼的輸出 -

Creating bytearray from string:
bytearray(b'Tutorials Point bytearray')

示例:使用 bytearray() 建立指定大小的 bytearray

以下程式碼演示瞭如何建立指定大小的位元組陣列。我們將大小和值作為引數傳遞給 bytearray() 函式。

size = 5
value = 1
new_byte_array = bytearray([value]*size)
print("Bytearray of the given size:")
print(new_byte_array)

上述程式碼的輸出如下 -

Bytearray of the given size:
bytearray(b'\x01\x01\x01\x01\x01')

示例:修改 bytearray

在下面的程式碼中,使用 bytearray() 函式建立了一個 bytearray。然後我們使用 ord() 函式修改其第 8 個字元。由於 bytearray 物件是可變的,因此可以輕鬆修改它。

byte_arr = bytearray('Tuorialspoint', 'utf-8')
print("Original bytearray:", byte_arr)
byte_arr[8] = ord('P')
print("Modified bytearray:", byte_arr)

以下是上述程式碼的輸出 -

Original bytearray: bytearray(b'Tuorialspoint')
Modified bytearray: bytearray(b'TuorialsPoint')
python_built_in_functions.htm
廣告