我们学习了很多关于序列的函数,大都是不可变的,其实有一个可变的序列,在字节的调整上也非常灵活,这就是我们今天要讲的bytearray函数。在类型上,bytearray属于字节数据,和我们之前学的bytes相似。下面我们就一起看看bytearray函数的说明,参数、返回值和实例吧。
1.说明
(1) 返回值为一个新的字节数组
(2) 当3个参数都不传的时候,返回长度为0的字节数组
>>> b = bytearray()
>>> b
bytearray(b'')
>>> len(b)
0
(3)当source参数为字符串时,encoding参数也必须提供,函数将字符串使用str.encode方法转换成字节数组
>>> bytearray('中文')
Traceback (most recent call last):
File "<pyshell#48>", line 1, in <module>
bytearray('中文')
TypeError: string argument without an encoding
>>> bytearray('中文','utf-8')
bytearray(b'xe4xb8xadxe6x96x87')
2.参数
-
如果 source 为整数,则返回一个长度为 source 的初始化数组;
-
如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
-
如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
-
如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
-
如果没有输入任何参数,默认就是初始化数组为0个元素。
3.返回值
返回新字节数组。
4.实例
>>> S = b"abcd"
>>> BA = bytearray(S)
>>> [ i for i in BA ]
[97, 98, 99, 100]
>>> BA[0] = 65
>>> BA
bytearray(b'Abcd')
bytearray是可变的二进制数据(byte)。
要构造bytearray对象,方法之一是将bytes数据作为bytearray()方法的参数,或者将str数据和编码作为参数。
以上就是我们在python中使用bytearray函数的方法,今天为大家带来的是其中的一种,更多方法需要小伙伴们自行探索~
转载自:python学习网 https://www.py.cn/
发表评论
还没有评论,快来抢沙发吧!