|
bytearray是Python的一个内置类,它提供了一个可变序列的字节数组。bytearray数组的元素必须是0-255之间的整数,这些整数对应于ASCII字符集中的数字。下面着张图是部分ASCII字符:bytearray是可变的,可修改其内容,而bytes是不可变的,不能修改。创建bytearray从整数序列创建ba1=bytearray([65,66,67])#从ASCII表得知数字三个数字对应字符'ABC'从字节串创建ba2=bytearray(b'ABC')从字符串创建(需要指定编码)ba3=bytearray('ABC','utf-8')初始化指定大小的字节数组,并用0填充ba4=bytearray(5)#代表5个0循环打印bytearray元素s_array=bytearray(b"Helloworld")print(s_array)foriins_array:print(f'字节码对应的数字:{i}转换为字符:{chr(i)}')#结果bytearray(b'Helloworld')字节码对应的数字:72转换为字符:H字节码对应的数字:101转换为字符:e字节码对应的数字:108转换为字符:l字节码对应的数字:108转换为字符:l字节码对应的数字:111转换为字符:o字节码对应的数字:32转换为字符:字节码对应的数字:119转换为字符:w字节码对应的数字:111转换为字符:o字节码对应的数字:114转换为字符:r字节码对应的数字:108转换为字符:l字节码对应的数字:100转换为字符:d方法介绍字节数组bytearray的很多方法类似于之前讲过的list列表。append(int):追加一个字节到末尾。#增加一个字符h,对应数字是104s_array.append(104)print(s_array)#结果bytearray(b'Helloworldh')extend(iterable_ints):追加多个字节到末尾。s_array.extend([104,105])print(s_array)#结果bytearray(b'Helloworldhi')insert(index,int):在指定索引处插入一个字节。s_array.insert(3,104)print(s_array)#结果bytearray(b'Helhloworld')remove(int):移除首次出现的指定字节。#移除字符H,数字对应72s_array.remove(72)print(s_array)#结果bytearray(b'elloworld')pop([index]):移除并返回指定索引处的字节(默认为最后一个)。popvalue=s_array.pop()print(popvalue)print(s_array)#结果100bytearray(b'Helloworl')find(sub[,start[,end]]):返回子字节序列首次出现的索引,如果没有找到则返回-1。print(s_array.find(b'H'))print(s_array.find(100))#结果010index(sub[,start[,end]]):返回子字节序列首次出现的索引,如果没有找到则引发ValueError。#查找字符d的索引位置print(s_array.index(100))#结果10count(sub[,start[,end]]):返回子字节序列出现的次数。#查找字母l出现的次数print(s_array.count(b'l'))#结果3replace(old,new[,count]):替换字节序列中的字节并返回新字节数组,不修改原字节数组。#修改字符H为字符Qs_array_new=s_array.replace(b'H',b'Q')print(s_array_new)print(s_array)#结果bytearray(b'Qelloworld')bytearray(b'Helloworld')translate(table[,delete]):使用转换表进行转换,并可以删除指定字节。跟replace函数一样返回新字节数组,不修改原字节数组。translate功能类似于字符串str中的功能,也是先使用maketrans创建替换的表(只传两个参数,第一个是需要替换的值,第二个是替换后的值),然后作为参数传入translate函数。#修改字符H为字符Q,并删除字符os_array_new=s_array.translate(s_array.maketrans(b'H',b'Q'),b'o')print(s_array_new)print(s_array)#结果bytearray(b'Qellwrld')bytearray(b'Helloworld')共勉:东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”-----指水滴不断地滴,可以滴穿石头;-----比喻坚持不懈,集细微的力量也能成就难能的功劳。----感谢读者的阅读和学习和关注,谢谢大家。
|
|