我们学习了很多关于序列的函数,大都是不可变的,其实有一个可变的序列,在字节的调整上也非常灵活,这就是我们今天要讲的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'\xe4\xb8\xad\xe6\x96\x87')
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函数的方法,今天为大家带来的是其中的一种,更多方法需要小伙伴们自行探索~