很多情况下我们都需要以某种特定格式对所求结果进行输出
通过字符串的格式化,可以输出特定格式的字符串。
(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))
>>> print('我叫%s今年%d岁!'%('小明',10))
我叫小明今年10岁!
>>> print('圆周率%s保留三位小数为%.3f'%('pi',3.1415926))
圆周率pi保留三位小数为3.142
1) % 格式标志,标识格式开始;
2)[-] 指定左对齐输出;
3)[+] 对正数加正号;
4)[0] 指定空位填0;
5)[m] 指定最小宽度;
6)[.n] 指定精度;
7) 格式字符 指定类型
8)% 格式运算符;
9)x 带转换的表达式
![](https://i-blog.csdnimg.cn/blog_migrate/cf7623ae1e18c9c7d82c5d4326b221dd.png)
format
基本格式
print(‘字符串{标识*}字符串{标识*}字符串‘.format(变量1,变量2))
标识*与顺序无关。
b=100/30+0.004
print(b)
print('我的成绩是{:.2f}'.format(b))
在这里b输出结果是一个无限长的小数,使用format可以控制小数的精确度。
(通过上述例子我们还可以看到使用format时,还自动对小数进行了四舍五入处理)
round
这里补充一个四舍五入的方法——round函数
round函数有两个参数,其中第一个参数指的是要四舍五入的数据,第二个参数指的是要精确保留的位数。举个例子来说明:
a=3.5647
print(round(a,2))
b=3.5648
print(round(b,3))
more example:
>>>print('圆周率{}为{}'.format('pi',3.1415926))
圆周率pi为3.1415926
>>>print('圆周率{}保留三位小数为{:+.3f}'.format('pi',3.1415926))
圆周率pi保留三位小数为+3.142
>>> print('圆周率{1}保留三位小数为{0:.2e}'.format(31415926,'pi'))
圆周率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>’
例子
>>> a=18
>>> f'我的年龄是{a}'
'我的年龄是18'
>>>f'我的年龄是{a:8.2f}'
'我的年龄是 18.00'
f-string
大括号内所用的引号不能和大括号外的引号定界符冲突,可根据情况灵活切换
'
和
"
。
>>> f'I am {"Niu"}'
'I am Ning'
>>> f'I am {'Niu'}'
File "<stdin>", line 1
f'I am {'Niu'}'
SyntaxError: f-string: expecting '}
>>> f"I am {'Niu'}"
'I am Ning'
>>> f"I am {"Niu"}"
File "<stdin>", line 1
f"I am {"Niu"}
类格式化方法
str.format( 格式化字符串,值 1 ,值 2 ,值 3)
>>>str.format('圆周率{}保留两位小数为{:.3}','pi',3.1415926)
'圆周率pi保留两位小数为3.14'
>>>print(str.format('圆周率{}保留两位小数为{:.3}','pi',3.1415926))
'圆周率pi保留两位小数为3.14'