#每天一点Python——71 #格式化字符串 ''' 在Python中,你可以使用格式化字符串来动态地插入变量的值、表达式的结果等到字符串中。 如图: '''
xxx部分需要不断变化,再和原文拼接 如上图所示这是一个类似于字符串拼接的操作。 因为字符串拼接操作会产生很多新的字符串会造成内存空间的浪费 所以我们就需要使用格式化字符串 ''' #如图:
#方法①和方法②都是按顺序替换的
'''【
方法①中%后跟不同的字母,所替代的数据类型也不一样
%s:用于格式化字符串
%d或者%i: 用于格式化整数。
%f: 用于格式化浮点数。
%x: 用于格式化十六进制数。
】'''
#例子:格式化字符串
#方法①%做占位符
name='王五'
age=21
print('我叫%s,今年%d岁了'%(name,age))
#name和age会按顺序添加到前面的位置【注意数据类型不同,%后面的字母也不同】
#方法②{}format形式
print('我叫{0},今年{1}岁了,他也叫{0},今年也是{1}岁了'.format(name,age))
#0代表name所占内容,1代表age所占内容,如果后面还需要用到name所占内容,直接{0}即可
'''
除了以上两种方法,在python3版本以上还有一种f—string方法
'''#例
print(f'我叫{name},今年{age}岁')
#以上是基本用法
#接下来
#格式化字符串精宽度表示
print('%d' %99)#%d占的99的位置
print('%10d' %99)#那么#10d是什么
print('helloworld')#对比一下%10d输出,你会发现%10d是代表输出占10个字符位置,也就是宽度为10个字符【10表示多少个字符位置】
print('%f' %3.1415926)#浮点占位符
#你会发现%f只保留小数点后6位
#如果我们只需要三位呢
#只需要在%后面加上.3即可
print('%.3f' %3.1415926)#保留小数多少位一般都是四舍五入【这就是精度表示】
#如果需要同时表示宽度和精度
#一样的#10.3f即可,小数点前表示宽度,小数点后表示精度,同时表示一起用即可,%10.3f表示占10位,小数点后保留三位[宽度里面小数点也算一位]
print('%10.3f' %3.1415926)#宽度为10,小数点后只有3位
#{}format形式表示宽度和精度
print('{0}'.format(3.1415926))#原形式
#在{}里面数字后面加上冒号+点加数字表示占几位数字
print('{0:.3}'.format(3.1415926))#表示占3位数,宽度为4
#表示占3位小数是:在{}里面数字后面加上冒号+点+数字+f表示占几位小数
print('{0:.3f}'.format(3.1415926))#.3f表示小数点后面只有三位,0表示第1个占位符【只有一个的时候可以省略不写】
print('{0:10.3}'.format(3.1415926))#小数点前表示宽度,小数点后表示精度【这里表示宽度为10,小数点后面只有3位】
print('helloworld')#对比
print('{0:10}'.format(3.1415926))#表示宽度为10
#f—string也和format一样,冒号后一样的表示方法