1 str自带函数格式化输出 rjust() ljust() center() zfill()
zfill是补齐零
介绍:
rjust(...)
S.rjust(width[, fillchar]) -> string
给字符串格式化输出,对字符串本身不做处理,只是返回一个格式化过的字符串,可以指定字符串宽度,并且指定填充的字符,默认填充空格!
作用: 对齐输出
举例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
In [
26
]: s1
=
"1"
In [
27
]: s2
=
"1234"
In [
28
]: s1
Out[
28
]:
'1'
In [
29
]: s2
Out[
29
]:
'1234'
In [
30
]:
for
i
in
s1,s2:
....:
print
i
....:
1
1234
#左对齐输出,不满长度为4的,默认填充空格
In [
34
]:
for
i
in
s1,s2:
....:
print
i.rjust(
4
)
....:
1
1234
|
#填充其他字符
1
2
|
In [
35
]: s1.rjust(
4
,
"*"
)
Out[
35
]:
'***1'
|
#补齐0
1
2
|
In [
38
]: s1.zfill(
4
)
Out[
38
]:
'0001'
|
等于
1
2
|
In [
40
]: s1.rjust(
4
,
'0'
)
Out[
40
]:
'0001'
|
2 浮点型指定宽度输出
1
2
3
4
|
In [
36
]:
1.0
/
3
Out[
36
]:
0.33333333333333331
In [
37
]:
"%.3f"
%
(
1.0
/
3
)
Out[
37
]:
'0.333'
|
3 format函数格式化化输出,格式有点像C语言,替换变量
也是str自带函数,可以多用多用
它通过{}和:来代替%。
通过位置
1
2
|
In [
48
]:
print
'{0} is a {1}'
.
format
(
'cat'
,
'animal'
)
cat
is
a animal
|
1
2
|
In [
49
]:
print
'{1} is a {0}'
.
format
(
'cat'
,
'animal'
)
animal
is
a cat
|
解释:{}的内容,会被format()中的参数代替,可以在'{}'里填写上数字来指定format()中的位置,但如果'{}'里面是key参数其中的内容会被format()中的value值代替
通过关键字参数
1
2
|
In [
50
]:
print
'{name} is a {age}'
.
format
(name
=
'andy'
, age
=
20
)
andy
is
a
20
|
通过下标
1
2
3
|
In [
56
]: l
=
[
'andy'
,
'good'
]
In [
60
]:
'{0[0]} {0[1]} {0[0]}'
.
format
(l)
Out[
60
]:
'andy good andy'
|
格式限定符
它有着丰富的的“格式限定符”(语法是{}中带:号),比如:
填充与对齐
填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
比如
1
2
3
4
5
6
|
In [
15
]:
'{:>8}'
.
format
(
'189'
)
Out[
15
]:
' 189'
In [
16
]:
'{:0>8}'
.
format
(
'189'
)
Out[
16
]:
'00000189'
In [
17
]:
'{:a>8}'
.
format
(
'189'
)
Out[
17
]:
'aaaaa189'
|
精度与类型f
精度常跟类型f一起使用
1
2
|
In [
44
]:
'{:.2f}'
.
format
(
321.33345
)
Out[
44
]:
'321.33'
|
其中.2表示长度为2的精度,f表示float类型。
其他类型
主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
1
2
3
4
5
6
7
8
|
In [
54
]:
'{:b}'
.
format
(
17
)
Out[
54
]:
'10001'
In [
55
]:
'{:d}'
.
format
(
17
)
Out[
55
]:
'17'
In [
56
]:
'{:o}'
.
format
(
17
)
Out[
56
]:
'21'
In [
57
]:
'{:x}'
.
format
(
17
)
Out[
57
]:
'11'
|
用,号还能用来做金额的千位分隔符。
1
2
|
In [
47
]:
'{:,}'
.
format
(
1234567890
)
Out[
47
]:
'1,234,567,890'
|
cuizhiliang