今天想起来,用python那么久了,经常用到字符串格式化来达到想要的版式,也算是有些心得。基于复习和共享的原则,撰写这篇博文。
- 字符串解析:%
- “新式”字符串格式化(python2.7+):str.format{}
- 字符串插值(python3.6+):f’{}’
- 字符串模板(python标准库):string.Template
- “哈哈”的等候
字符串解析
操作符——%
数字占位符可以用s也可以用d(浮点数用f),用s不可以设置宽度。
python代码
#字符串解析,操作符%
s = '凉白开'
s_n = 'Cold boiled water'
number = 2.9678
print()
#格式化数字占位符可以用s也可以用d,用s不可以设置小数位宽度
print('0. “%20s” is my favorite.'%s_n)
print('1. %20s是我的最爱。'%s)
#设置的字符宽度为英文空格(半角空格),中文一个字符占用设置一个空格宽,实则占用两个英文空格显示。
print('2. %s是我的最爱,每天喝%6skg。'%(s, number))
print('3. %s是我的最爱,每天喝%6dkg。'%(s, number))
#浮点数用f,可以设置小数位;如用d,会被强行取整。
print('4. %s是我的最爱,每天喝%6.2fkg。'%(s, number))
print('5. %s是我的最爱,每天喝%06dkg。'%(s, number))
print('6. %s是我的最爱,每天喝%06.2fkg。'%(s, number))
#设置宽度默认英文空格占位,数字可以设置用0占位。
print()
print('﹊'*21)
运行效果
“新式”字符串格式化(python2.7+)
格式样例——‘格式样例{}’.format{}
python代码
#新式字符串格式化,'{}'.format()
s = '凉白开'
number = 5
print()
print('{}是我的最爱。'.format(s))
print('{0}是我的最爱,每天喝{1:06d}杯。'.format(s, number))
print('{}是我的最爱,每天喝{:06.3f}杯。'.format(s, number))
print()
print('﹊'*21)
代码运行效果
字符串插值(python3.6+)
格式样例f’{}’
python代码
#字符串插值(python3.6+),f'{}'
s = '凉白开'
number = 5
print()
print(f'{s}是我的最爱。')
print(f'{s}是我的最爱,每天喝{number}杯。')
print(f'{s}是我的最爱,每天喝{number:5d}杯。')
print(f'{s}是我的最爱,每天喝{number:5.1f}杯。')
print()
print('﹊'*21)
运行效果
字符串模板(python标准库)
string.Template
python代码
#字符串模板
#从string模块*Template
from string import Template
#设置模板
t = Template('$m是我的最爱。')
#替换
s = t.safe_substitute(m = input('输入:'))
print(s)
s = t.substitute(m=input('输入:'))
print(s)
print('﹊'*21)
代码运行效果
“哈哈”的花絮
在学习字符串格式模板Template()时,在命令行模式下有正常屏幕输出的代码,到*.py文件中,就run不出任何东东,一直纠结,查找问题所在。最后发现,居然不用print(),哈哈地等候代码输出😁。一整就从头一天傍晚弄到第二天中午,真是笨得可以!😜😜
2021-11-27-12:56(记下此时刻,回忆不用print()打印输出的“快乐”。😀)
更多详情,请参阅:
上一篇: 输出一个元素在列表中的所有位置
下一篇: CSDN2021-11-27“每日一练”(python)
![老齐漫画头像](https://img-blog.csdnimg.cn/20210916225739194.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU3MTU4NDk2,size_16,color_FFFFFF,t_70)
精品文章:
来源:老齐教室