Python学习笔记七

本文介绍了Python中的字节串bytes和字节数组bytearray,包括它们的创建、运算以及与字符串的转换。此外,还详细讲解了文件操作,如文本文件和二进制文件的读写,以及文件处理的相关方法,如flush和编码处理。
摘要由CSDN通过智能技术生成

字节串bytes和字节数组bytearray
字节串bytes

作用:存储以字节为单位的数据
说明:字节串是不可变的字节序列,字节是0-255之间的整数
创建空字节串的字面值:
b’’
b""
b’’’’’’
b""""""
B’’
B""
B’’’’’’
B""""""
创建非空字节串的字面值:
b’ABCD’
b’\x41\x41’
b’hello world’
字节串的构造函数 bytes
bytes() # 生成一个空的字节串,等同于b’’

bytes([10, 20, 30, 40, 50, 60])				# b'\n\x14\x1e(2<'

bytes(整型可迭代对象) # 用可迭代对象初始化一个字节串

bytes(range(97, 97+26))				# b'abcdefghijklmnopqrstuvwxyz'

bytes(整数n) # 生成n和值为零的字节串

bytes(10)				# b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'			

bytes(字符串, encoding=‘utf-8’) # 用字符串的转换编码生成一个字节串

bytes('hello', 'ascii')		# b'hello'
bytes('hello小小猫', encoding='utf-8')		# b'hello\xe5\xb0\x8f\xe5\xb0\x8f\xe7\x8c\xab'

字节串的运算

+ += * *= 
< <= > >= == !=
in/not in
索引/切片

示例:

b = b'abc' + b'123'				# b'abc123'
b'ABC' * 4			# b'ABCABCABCABC'
b'ABC' < b'ABD'			# True
b = b'ABCD'
65 in b				# True
b'A' in b				# True
# 索引
b = b'ABCD'
b[0]			# 65
b[1]			# 66
b[-1]			# 68
# 切片
b = b'ABCDEFG'
b[::2]				# b'ACEG'

用于序列函数:
len(x), max(x), min(x), sum(x), all(x), any(x)

b = b'ABCDEFG'
len(b)			# 7
max(b)			# 71
min(b)			# 65
sum(b)			# 476

bytes 与 str的区别:
bytes 存储字节(0-255)
str 存储Unicode字符(0-65535)
bytes 与 str 的转换:
编码(encode)
str ---------> bytes
b = s.encode(‘utf-8’)

s = 'abc中文'
b = s.encode('utf-8')			# b'abc\xe4\xb8\xad\xe6\x96\x87'
		 解码(decode)

bytes ------------> str
s = b.decode(‘utf-8’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值