📜  Bytearray 类型 - Python (1)

📅  最后修改于: 2023-12-03 14:39:36.782000             🧑  作者: Mango

Bytearray 类型 - Python

在Python中,bytearray是一种可变的序列类型,用于表示一个字节串(即由一系列字节组成的序列)。bytearraybytes类型相似,但bytearray是可变的,而bytes是不可变的。

创建 bytearray

要创建一个bytearray对象,可以使用bytes、整数列表、字符串或另一个bytearray对象作为参数。下面是几种创建bytearray的方法:

使用 bytes 创建
# 使用 bytes 创建一个 bytearray
ba = bytearray(b"Hello")
print(ba)  # bytearray(b'Hello')
使用整数列表创建
# 使用整数列表创建一个 bytearray
ba = bytearray([72, 101, 108, 108, 111])
print(ba)  # bytearray(b'Hello')
使用字符串创建
# 使用字符串创建一个 bytearray
ba = bytearray("Hello", "utf-8")
print(ba)  # bytearray(b'Hello')
使用另一个 bytearray 创建
# 使用另一个 bytearray 创建一个新的 bytearray
ba1 = bytearray(b"Hello")
ba2 = bytearray(ba1)
print(ba2)  # bytearray(b'Hello')
操作 bytearray
访问元素

可以通过索引来访问bytearray对象中的元素,就像访问列表中的元素一样:

ba = bytearray(b"Hello")
print(ba[0])  # 72
print(ba[1])  # 101
修改元素

由于bytearray是可变的,因此可以通过索引修改其中的元素:

ba = bytearray(b"Hello")
ba[0] = 104
print(ba)  # bytearray(b'Hello')
切片

可以使用切片操作来获取bytearray的部分元素:

ba = bytearray(b"Hello, World!")
print(ba[7:])     # bytearray(b'World!')
print(ba[:5])     # bytearray(b'Hello')
print(ba[7:12])   # bytearray(b'World')
迭代

bytearray也可以像其他序列类型一样进行迭代:

ba = bytearray(b"Hello")
for byte in ba:
    print(byte)  # 72 101 108 108 111
其他方法

bytearray还具有其他一些有用的方法,例如append()extend()insert()pop()等。可以通过以下方式查看完整的方法列表:

print(dir(bytearray))
转换为其他类型

要将bytearray转换为其他类型,可以使用bytes()decode()方法:

ba = bytearray(b"Hello")
print(bytes(ba))       # b'Hello'
print(ba.decode())    # Hello
总结

bytearray类型是Python中用于处理字节串的可变序列类型。它提供了许多方法来操作字节串,例如访问元素、修改元素、切片和迭代。通过bytes()decode()方法,可以轻松将bytearray转换为其他类型。