📅  最后修改于: 2023-12-03 14:39:36.782000             🧑  作者: Mango
在Python中,bytearray
是一种可变的序列类型,用于表示一个字节串(即由一系列字节组成的序列)。bytearray
与bytes
类型相似,但bytearray
是可变的,而bytes
是不可变的。
要创建一个bytearray
对象,可以使用bytes
、整数列表、字符串或另一个bytearray
对象作为参数。下面是几种创建bytearray
的方法:
# 使用 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
ba1 = bytearray(b"Hello")
ba2 = bytearray(ba1)
print(ba2) # bytearray(b'Hello')
可以通过索引来访问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
转换为其他类型。