bytearray用于创建可变字节数组,每个元素为0-255整数,支持索引赋值和切片修改;可从字符串(指定编码)、字节串或长度创建,适用于需频繁修改的二进制数据处理场景;与不可变的bytes类型相比,bytearray允许动态更改内容,如data[0]=65,更适合网络、文件或加密操作中的可变需求。

bytearray 函数在 Python 中用于创建一个可变的字节数组对象。它和 bytes 类型很相似,都是用来表示字节序列,但关键区别在于 bytearray 是可变的,也就是说你可以在创建之后修改它的内容。
基本作用和特点
bytearray 提供了一种处理二进制数据的方式,适用于需要频繁修改字节内容的场景,比如处理网络数据、文件内容或进行加密操作。
- 返回一个可变的字节序列
- 每个元素是 0 到 255 之间的整数
- 支持索引赋值、切片替换等修改操作
常见用法示例
1. 从字符串创建(需指定编码):data = bytearray("hello", "utf-8")
此时 data 可以被修改,比如 data[0] = ord('H') 将第一个字符改为大写。
2. 从字节串创建:
立即学习“Python免费学习笔记(深入)”;
data = bytearray(b"hello")
得到一个可变副本,后续可以更改其中的字节。
3. 创建指定长度的空数组:
buf = bytearray(5)
生成包含 5 个 0 值字节的数组,适合用作缓冲区。
与 bytes 的主要区别
bytes 是不可变类型,一旦创建就不能更改内容;而 bytearray 支持修改,例如:
b = bytearray([104, 101, 108, 108, 111])b[0] = 65 # 成功修改为 'A'
这种灵活性使得 bytearray 更适合需要动态处理二进制数据的场合。
基本上就这些。当你需要一个能改来改去的字节序列时,就用 bytearray。如果是固定不变的数据,用 bytes 更合适。











