python中内置的%操作符和format函数,都可以用于格式化字符串。
1.%操作符的使用
%c:格式化字符及其ASCII码。
%s:格式化字符
%d:格式化整数(十进制)
%u:格式化无符号整型
%o:格式化无符号八进制数
%x:格式化无符号十六进制数
%X:格式化无符号十六进制数(大写)
%f:格式化浮点数字,可指定小数点后的精度;保留小数点后面6位有效数字;如果是%.3f,则保留3位小数位
%e:用科学计数法格式化浮点数,保留小数点后面6位有效数字,按指数形式输出。如果是%.3e,则保留3位小数位,使用科学计数法
%g:%f和%e的简写;如果有6位有效数字,则使用小数方式,否则使用科学计数法。如果是%.3g,则保留3位有效数字。
%p:用十六位进制数格式化变量的地址
%10s:右对齐,占位符10位
%-10s:左对齐,占位符10位
%.2s:截取两位字符串
%10.2s:10位占位符,截取两位字符串
举例如下:
1 print('His name is %s' % 'xiaoming') 2 print('His is %d old' % 25) 3 print('His height is %f' % 1.8332221) 4 print('%10.2s' % 'hello word ')
输出:
His name is xiaoming
His is 25 old
His height is 1.833222
he
2.format()方法
format()方法功能更强大。该方法把字符串当成一个模板,通过转入的参数进行格式化,并且使用大括号“{}”作为特殊字符串代替“%”。
使用方法有两种格式:b.format(a) 和format(a,b)。
(1)不带编号,即“{}”。
(2)带数字编号,可调换顺序,即“{1}”,“{2}”.
(3)带关键字,即“{a}”“{b}”
举例如下:
1 print('{} {}'.format('hello','word')) 2 print('{0} {1}'.format('hello','word')) 3 print('{0} {1} {0}'.format('hello','word')) 4 print('{a} {b} {a}'.format(a='word',b='hello'))
运行结果显示为:
hello word
hello word
hello word hello
word hello word