写在前言
hello,大家好,我是一点,专注于Python编程,如果你也对感Python感兴趣,欢迎关注交流。
希望可以持续更新一些有意思的文章,如果觉得还不错,欢迎点赞关注,有啥想说的,可以留言或者私信交流。
欢迎关注我的公众号:一点sir,领取编程资料。
简介
bytearray是Python中用于处理二进制数据的一个非常有用的数据类型。与不可变的bytes对象相比,bytearray允许你修改其内容,这在处理需要动态变化的二进制数据时非常有用。
创建bytearray
 
创建bytearray对象有多种方式:
指定长度
创建一个指定长度的bytearray,默认所有字节初始化为0。
b = bytearray(5)  # 创建长度为5的bytearray,所有字节为0
从字符串创建
将字符串转换为bytearray,每个字符转换为其ASCII码。
b = bytearray("Hello", 'ascii')  # 创建一个包含字符串"Hello"的bytearray
从序列创建
从列表、元组等序列类型创建bytearray。
b = bytearray([72, 101, 108, 108, 111])  # 创建一个包含ASCII码的bytearray
修改bytearray
 
由于bytearray是可变的,你可以使用索引来修改它的元素。
b = bytearray("Hello", 'ascii')
b[0] = ord('J')  # 将第一个字符改为'J'
print(b)  # 输出: bytearray(b'Jello')
遍历bytearray
 
可以像遍历其他序列类型一样遍历bytearray。
b = bytearray([72, 101, 108, 108, 111])
for byte in b:print(byte, end=' ')  # 输出每个字节的值
转换为字符串
可以使用decode()方法将bytearray转换回字符串。
b = bytearray("Hello", 'ascii')
s = b.decode('ascii')  # 将bytearray转换回字符串
print(s)  # 输出: Hello
连接bytearray
 
可以使用+运算符或extend()方法来连接bytearray对象。
b1 = bytearray(b"abc")
b2 = bytearray(b"def")
b1 += b2  # 使用+运算符合并两个bytearray
print(b1)  # 输出: bytearray(b'abcdef')b1.extend(b2)  # 使用extend方法合并bytearray
print(b1)  # 输出: bytearray(b'abcdefabcdef')
切片操作
bytearray支持切片操作,可以获取部分内容。
b = bytearray(b"Hello World!")
print(b[0:5])  # 输出: bytearray(b'Hello')
内存视图
bytearray对象可以用于创建内存视图,这对于处理二进制数据非常有用。
b = bytearray(10)
print(b[0:2])  # 创建一个指向原始bytearray的内存视图
来点结束语
bytearray是Python中处理二进制数据的一个强大工具,它允许你创建、修改和操作字节序列。以上是一些比较简单的例子,要想更加深入的了解这个内置函数,看源码去啊。哈哈,拜拜啦!