Python中bytearray()类的详细解析与功能介绍
bytearray 是 Python 的一个内置类,它提供了一个可变序列的字节数组。
创建 bytearray
ba1 = bytearray([65, 66, 67])
#从ASCII表得知数字三个数字对应字符 'ABC'
ba2 = bytearray(b'ABC')
ba3 = bytearray('ABC', 'utf-8')
ba4 = bytearray(5) # 代表5个0
循环打印bytearray元素
s_array = bytearray(b"Hello world")
print(s_array)
for i in s_array:
print(f'字节码对应的数字:{i} 转换为字符:{chr(i)}')
#结果
bytearray(b'Hello world')
字节码对应的数字:72 转换为字符:H
字节码对应的数字:101 转换为字符:e
字节码对应的数字:108 转换为字符:l
字节码对应的数字:108 转换为字符:l
字节码对应的数字:111 转换为字符:o
字节码对应的数字:32 转换为字符:
字节码对应的数字:119 转换为字符:w
字节码对应的数字:111 转换为字符:o
字节码对应的数字:114 转换为字符:r
字节码对应的数字:108 转换为字符:l
字节码对应的数字:100 转换为字符:d
方法介绍
字节数组bytearray的很多方法类似于之前讲过的list列表。
#增加一个字符h,对应数字是104
s_array.append(104)
print(s_array)
#结果
bytearray(b'Hello worldh')
s_array.extend([104,105])
print(s_array)
#结果
bytearray(b'Hello worldhi')
s_array.insert(3,104)
print(s_array)
#结果
bytearray(b'Helhlo world')
#移除字符H,数字对应72
s_array.remove(72)
print(s_array)
#结果
bytearray(b'ello world')
popvalue = s_array.pop()
print(popvalue)
print(s_array)
#结果
100
bytearray(b'Hello worl')
print(s_array.find(b'H'))
print(s_array.find(100))
#结果
0
10
#查找字符d的索引位置
print(s_array.index(100))
#结果
10
#查找字母l出现的次数
print(s_array.count(b'l'))
#结果
3
#修改字符H为字符Q
s_array_new = s_array.replace(b'H',b'Q')
print(s_array_new)
print(s_array)
#结果
bytearray(b'Qello world')
bytearray(b'Hello world')
translate功能类似于字符串str中的功能,也是先使用maketrans创建替换的表(只传两个参数,第一个是需要替换的值,第二个是替换后的值),然后作为参数传入translate函数。
#修改字符H为字符Q,并删除字符o
s_array_new=s_array.translate(s_array.maketrans(b'H',b'Q'),b'o')
print(s_array_new)
print(s_array)
#结果
bytearray(b'Qell wrld')
bytearray(b'Hello world')
共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”
—–指水滴不断地滴,可以滴穿石头;
—–比喻坚持不懈,集细微的力量也能成就难能的功劳。
—-感谢读者的阅读和学习和关注,谢谢大家。
作者:科雷learning