Python 二进制序列类型之二:bytearray [学习 Python 必备基础知识][看此一篇就够了][创建 bytearray 对象][bytearray() 构造器]

您的“关注”和“点赞”,是信任,是认可,是支持,是动力......

如意见相佐,可留言。
本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。

在这里插入图片描述

1 bytearray 类型概述

bytearray ,字节数组,是一个可变字节序列,包含范围为 0 <= x < 256 的整数。

bytearray 对象是 bytes 对象(bytes 是不可变字节序列)的可变序列对应物。

由于 bytearray 对象是由整数构成的序列(类似于列表),因此对于一个 bytearray 对象 bb[0] 将为一个整数,而 b[0:1] 将为一个长度为 1bytearray 对象。 (这与文本字符串不同,文本字符串索引和切片所产生的将都是一个长度为 1字符串)。

2 创建 bytearray 对象

2.1 创建 bytearray 对象概述

bytearray 对象没有专属的字面值语法,它们总是通过调用构造器来创建:

  • 创建一个空实例: bytearray()
  • 创建一个指定长度的以零值填充的实例: bytearray(10)
  • 通过由整数组成的可迭代对象: bytearray(range(20))
  • 通过缓冲区协议复制现有的二进制数据: bytearray(b'Hi!')

2.2 bytearray([source[, encoding[, errors]]]) 构造器(内置函数)

构造器使用格式如下所示:

class bytearray([source[, encoding[, errors]]])

对以上格式说明,

  • 返回值:返回一个新的 bytes 数组。
  • source:是一个可选形参。可选形参 source 可以用不同的方式来初始化数组,如下所示:
    ① 如果是一个文本序列(字符串),必须提供 encoding 参数(errors 参数仍是可选的);bytearray() 会使用 str.encode() 方法来将文本序列(字符串 str)转变成字节序列 bytes
    ② 如果是一个整数,会初始化大小为该数字的数组(创建一个为该整数个字节的字节数组),并使用 null 字节(十六进制的 0x0 填充)填充。
    ③ 如果是一个符合 buffer 接口的对象,该对象的只读 buffer 会用来初始化字节数组。
    ④ 如果是一个 iterable 可迭代对象,它的元素的范围必须是 0 <= x < 256 的整数,它会被用作数组的初始内容。
    ⑤ 如果没有实参,则创建大小为 0 的字节数组。

【文章其它地址】

微信公众号:码农阿杰

CSDN 博客

【参考资料】

Python 官网

Python 3.8.2 documentation

posted @ 2020-05-20 20:14  码农阿杰  阅读(1291)  评论(0编辑  收藏  举报