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