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
广告