python3 中 bytearray数据类型

一. 简介

Python3 引入两个新的类型 bytes、bytearray。字节串类型(bytes)用于表示不可变的二进制数据。而 bytearray 类型表示的是可变的字节数组,这意味着可以直接更改 bytearray对象中的元素。

本文来简单学习一下python3中 bytearray类型。

二. python3 中 bytearray数据类型

1.  创建 bytearray类型

(1) 创建一个 空的 bytearray对象,然后可以逐条添加元素,下面来举例说明:

b = bytearray()
b.append(97)
b.append(98)
print(b) #输出 bytearray(b'ab')

(2) 从一个 byte对象,转化为 bytearray类型对象:

b = b'hello world'
byte_array = bytearray(b) 
print(byte_array) #输出 bytearray(b'hello world')

(3) 从字符串转化为 bytearray类型的对象,下面举例说明:

str = "hello python"
byte_array = bytearray(str, 'utf-8')
print(byte_array) #输出 bytearray(b'hello python')

(4) 将整数列表转化为 bytearray类型的对象,下面举例说明:

my_list = [9, 8, 7, 6, 5]
byte_array = bytearray(my_list)
print(byte_array)

2.  bytearray 对象的常见操作

bytearray类型对象是可变的字节数组。所以,支持增删改查操作。

(1) 访问 bytearray对象中的元素。

可以使用索引访问 bytearray对象中的元素,或者使用截取来访问多个元素。下面来举例说明:

data = bytearray(b'hello,world!')
print(data[0]) #输出 104
print(data[5]) #输出 44

通过使用循环来遍历 bytearray中的每个字节,下面来举例说明:

byte_array = bytearray(b'python')
for data in byte_array:
    print(data, chr(data))

输出如下:

(2) 向 bytearray对象加入新的元素。

可以使用 append方法向 bytearray对象中添加一个新的元素,即添加一个字节,下面来举例说明:

byte_array = bytearray(b'hello')
byte_array.append(ord('!'))
print(byte_array)  #输出bytearray(b'hello!')

(3) 更改 bytearray对象中的元素。

可以通过索引来修改 bytearray对象中的元素,举例说明:

byte_array = bytearray(b'hello')
byte_array[0] = ord('H')
print(byte_array) #输出:bytearray(b'Hello')

(4) 删除 bytearray对象中的元素。

pop() 方法可以删除并返回 bytearray对象中的最后一个元素,举例说明:

byte_array = bytearray(b'hello')
last_byte = byte_array.pop()
print(last_byte.to_bytes(1, byteorder='big'))  #输出 b'o'

使用 pop([i]) 方法移除并返回指定索引处的字节,举例说明:

byte_array = bytearray(b'hello')
byte_array.pop(1)
print(byte_array) #输出 b'hllo'

(5) bytearray类型对象转换为字符串

可以通过 decode() 方法将 bytearray类型的对象转化为字符串,也可以使用 encode() 方法将字符串转化为 bytearray类型,下面举例说明:

使用 decode()方法将 bytearray类型对象转化为字符串:

byte_array = bytearray(b'hello')
str = byte_array.decode()
print(str)  #输出:hello

使用 encode()方法将 字符串转化为 bytearray类型对象:

str = "python"
byte_array = str.encode()
print(byte_array) #输出 b'python'

关于 bytearray类型的数据暂时学习到这里。加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值