python基础学习(八):字符串格式化

来源:互联网 发布:淘宝网毛衣货源 编辑:程序博客网 时间:2024/06/05 04:34

1.format()

位置参数

>>> "{0} love {1}".format("I","you")
'I love you

{0} {1}指字段位置参数

关键字参数

>>> "{a} love {b}".format("I","you")
Traceback (most recent call last):
  File "<pyshell#93>", line 1, in <module>
    "{a} love {b}".format("I","you")
KeyError: 'a'

format()里面不指明的话,会出错,所以如下:

"{a} love {b}".format(a="I",b="you")

'I love you'

位置参数和关键字混合使用:

合理:

>>> "{0} love {a} {b}".format("I",a="you",b='forever')
'I love you forever'

不合理:

>>> "{a} love {b} {0}".format(a="I",b="you",'forever')
SyntaxError: non-keyword arg after keyword arg


2.格式化操作符

%c 输出为字符格式

>>> '%c' % 97
'a'

%d 输出为整数

>>> '%d + %d = %d' %(1,2,3)
'1 + 2 = 3'

%o 输出为八进制

>>> '%o' % 10
'12'

%x 输出为十六进制且小写

>>> '%x' % 10
'a'

%X 输出为十六进制且为大写

>>> '%X' % 10
'A'

%f输出为浮点型

>>> '%f' % 13.456
'13.456000' 

没有指明输出位数,默认小数位数为六位

%e 输出为科学计数法且e小写

>>> '%e' % 13.456
'1.345600e+01'


%E 输处为科学计数法且e为大写

>>> '%E' % 13.456
'1.345600E+01'



格式化辅助操作符

m.n m为整数位数,n为小数点位数不足时用零

>>> '%5.6f' % 12.34
'12.340000'


即如下格式控制:

%[(name)][flags][width].[precision]typecode

(name)为命名

flags可以有+,-,' '或0。+表示如果为整数则输处加正号。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。

width表示显示宽度

precision表示小数点后精度

>>> '%10d' % 5
'         5'


>>> '%+10d' % 5
'        +5’


%#o 输出为八进制形式

>>> '%#o' % 10
'0o12'

%#x 输出为十六进制形式
>>> '%#x' % 10
'0xa'

0 0
原创粉丝点击