当前位置:   article > 正文

详解字符串格式化输出

字符串格式化输出

很多情况下我们都需要以某种特定格式对所求结果进行输出

通过字符串的格式化,可以输出特定格式的字符串。
(1) 格式化字符串 %( 1 ,值 2)
print('学生人数%d,平均成绩%2.1f'%(15, 81.2))'
运行
(2) 字符串 .format( 1, 2,……)
print('学生人数{},平均成绩{}'.format(15, 81.2))'
运行
(3) str.format( 格式字符串 1, 1, 2,…)
print(str.format('学生人数{0},平均成绩{1:2.1f}',15, 81.2))
(4) f-strint fd'{}{}{}'.

%格式符

基本格式

print( 字符串 % 格式字符 1 字符串 % 格式字符 2 字符串 %( 变量 1, 变量 2))
  1. >>> print('我叫%s今年%d岁!'%('小明',10))
  2. 我叫小明今年10岁!
  3. >>> print('圆周率%s保留三位小数为%.3f'%('pi',3.1415926))
  4. 圆周率pi保留三位小数为3.142

1)  % 格式标志,标识格式开始;
2)[-] 指定左对齐输出;
3)[+] 对正数加正号;
4)[0] 指定空位填0;
5)[m] 指定最小宽度;
6)[.n] 指定精度;
7)  格式字符 指定类型
8)% 格式运算符;
9)x 带转换的表达式

format

基本格式

print(‘字符串{标识*}字符串{标识*}字符串‘.format(变量1,变量2)) 

标识*与顺序无关。

  1. b=100/30+0.004
  2. print(b)
  3. print('我的成绩是{:.2f}'.format(b))
'
运行

在这里b输出结果是一个无限长的小数,使用format可以控制小数的精确度。

(通过上述例子我们还可以看到使用format时,还自动对小数进行了四舍五入处理) 

round

这里补充一个四舍五入的方法——round函数

round函数有两个参数,其中第一个参数指的是要四舍五入的数据,第二个参数指的是要精确保留的位数。举个例子来说明:

  1. a=3.5647
  2. print(round(a,2))
  3. b=3.5648
  4. print(round(b,3))
'
运行

 more example:

  1. >>>print('圆周率{}为{}'.format('pi',3.1415926))
  2. 圆周率pi为3.1415926
  3. >>>print('圆周率{}保留三位小数为{:+.3f}'.format('pi',3.1415926))
  4. 圆周率pi保留三位小数为+3.142
  5. >>> print('圆周率{1}保留三位小数为{0:.2e}'.format(31415926,'pi'))
  6. 圆周率pi保留三位小数为3.14e+07

详细参数

{[name][:][fill][align][sign][#][0][width][,][.precision][type]}’.format( 表达式 )
• Name: 可为空,传递参数名;
• Fill=<any character>, 可以填写任何字符;
• Align=“<”“>”“=”“^” ,对其方式,表示左对齐、右对齐、居中对齐等。
• sign=“+”“-” ,符号,表示正负号。
• Width=inter ,是数字宽度,共输出多少位数字。
• Precision=integer,是小数保留位数。(最常用)
• Type=“b”“e”“x” ,表示输出数字的表示方式,如 b 是二进制表示, e 是指数表示, x 是十六进制表示。
位置设定:将格式化内容的位置用大括号{}占位,所有的定义都是在format()函数中执行。
(1) 默认位置:
S = ' I { 0 } { 1 }, and I'am learning '.format ('like', 'Python’)
I like Python, and I'am learning
(2) 设置位置:
S = 'I {1} {0} {1}, and I'am learning'.format('like', 'Python’)
I Python like Python, and I'am learning
(3) 设置关键字:
S = 'I {l} {p}, and I'am learning'.format(p='Python', l='like’)
I like Python, and I'am learning

f-string格式

f-string ,亦称为格式化字符串常量( formatted string literals ),是 Python3.6 新引入的 一种字符串格式化方法, f-string 在形式上是以 f F 修饰符引领的字串 (f‘xxx F‘xxx) ,以 大括号 {} 标明被替换的字段。

格式

f’<text>{<expression><optional!s,!r,or!a><optional:format specifier>}<text>’

 例子

  1. >>> a=18
  2. >>> f'我的年龄是{a}'
  3. '我的年龄是18'
  4. >>>f'我的年龄是{a:8.2f}'
  5. '我的年龄是 18.00'
f-string 大括号内所用的引号不能和大括号外的引号定界符冲突,可根据情况灵活切换 ' "

  1. >>> f'I am {"Niu"}'
  2. 'I am Ning'
  3. >>> f'I am {'Niu'}'
  4. File "<stdin>", line 1
  5. f'I am {'Niu'}'
  6. SyntaxError: f-string: expecting '}
  1. >>> f"I am {'Niu'}"
  2. 'I am Ning'
  3. >>> f"I am {"Niu"}"
  4. File "<stdin>", line 1
  5. f"I am {"Niu"}

类格式化方法

str.format( 格式化字符串,值 1 ,值 2 ,值 3)

  1. >>>str.format('圆周率{}保留两位小数为{:.3}','pi',3.1415926)
  2. '圆周率pi保留两位小数为3.14'
  3. >>>print(str.format('圆周率{}保留两位小数为{:.3}','pi',3.1415926))
  4. '圆周率pi保留两位小数为3.14'

传送门:Python全套学习笔记

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/1018826
推荐阅读
相关标签
  

闽ICP备14008679号