让字符串存在固定的格式+可变的位置:字符串的拼接操作
字符串的拼接操作会产生新的字符串(会产生浪费)-------需要使用格式化字符串
格式化字符串(使用一定格式的字符串)
使用%做占位符 %s字符串 %d整数 %f浮点数
使用{ }做占位符{0}{1}里面的是索引
print('----格式化字符串用%------')
name='陈善'
age=20
print('1.我叫%s,今年%d岁' % (name,age))
print('----格式化字符串用{}-----')
print('2.我叫{0},今年{1}岁'.format(name,age))#format方法
print('----格式化字符串用f-string-----')
print(f'3.我叫{name},今年{age}岁')#format方法
print('----格式化字符串用%------')
print('%d' %99)
print('----------')
print('%10d' %99)#10表示总的宽度
print('%f' %3.1415926)
print('%.3f' %3.1415926)#表示小数点后3位
print('-----宽度精度同时指定------')
print('%10.3f' % 3.1415926)
print('----格式化字符串用{}------')
print('{0}'.format(3.1415926))
print('----------')
print('{0:.3}'.format(3.1415926))#表示一共3位数 0表示占位符的顺序
print('精度')
print('{0:0.3f}'.format(3.1415926))#表示一共3位小数
print('宽度和精度')
print('{0:10.3f}'.format(3.1415926))#表示一共10数
字符串在内存中以unicode的形式存在
计算机中传输的是二进制数据
显示的时候有需要转换成字符串类型的数据
print('----字符串用的编码---unicodr--转换成2进制---')
a='同是天涯沦落人' #7个中文
print(a.encode(encoding='GBK'))#gbk这种格式中 是一个中文占据两个字节 14
print(a.encode(encoding='UTF-8'))#utf-8这种格式中 是一个中文占据三个字节 21
print('----字符串用的解码-转换成字符串类型---')
#BYTE代表了2进制数据
byte=a.encode(encoding='GBK')
print(byte.decode(encoding='GBK'))
byte=a.encode(encoding='UTF-8')
print(byte.decode(encoding='UTF-8'))