Python笔记——基本数据类型四

编码与解码

编码(encode):将Unicode转化为其他编码
解码(decode):将其他编码转换为Unicode

  • 编码
a = '中文'					# 程序执行时,会以Unicode储存在内存中
U = a.encode('utf8')	# b'\xe4\xb8\xad\xe6\x96\x87'  每个字3个字节
G = a.encode('gbk')	# b'\xd6\xd0\xce\xc4'	每个字2个字节
G_U = G.decode('gbk').encode('utf8')		#gbk转utf8,先解码再编码

深浅复制

  • 赋值

将a的值赋给b,只创建一个变量,与a指向同一个内存地址

  • 浅复制

引入copy模块,只第一层指向不同地址,更深层数据仍指向同一个地址
修改第一层内容,只改变修改的变量
修改第二层以上内容,两个变量均改变

import copy				# 引入模块
a = [1,['a', 'b', ['c','d']]]		# 初始化
b = copy.copy(a)		# 浅复制
b[0] = 2		# 修改第一层数据
print(a)			# 打印a,a变
print(b)			# 打印b,b变
b[1][2][1] = 3		# 修改b第三层数据
print(a)			# 打印a,a不变
print(b)			# 打印b,b改变
  • 深复制

引入copy模块,所有数据均指向不同地址。
修改任意数据,只所修改的变量改变,另一个不变

import copy				# 引入模块
a = [1,['a', 'b', ['c','d']]]		#变量初始化
b = copy.deepcopy(a)		# 修改第一层数据
b[1][2][1] = 3		#修改第三层数据
print(a)			#a不变
print(b)			#b变

bytes和bytearray(了解)

bytearray是bytes的序列

a = '中文'					# 程序执行时,会以Unicode储存在内存中
U = a.encode('utf8')			# b'\xe4\xb8\xad\xe6\x96\x87'  每个字3个字节
U1 = bytearray(U)			# 转化为bytearray类型
U1[3:6] = bytearray("国",encoding='utf8')		# 将“文”字的字节用切片的方式转化为“国”字的字节
print(U1.decode('utf8'))			# 将U1解码打印

字符串格式化

  • 字符串格式化–%

在这里插入图片描述

print('%04d,%05.2f' % (11,1.1))		# 0011, 01.10
  • 字符串格式化–format

使用{}表示占位符。
{0:}.format('python')

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值