格式化字符串,就是按照统一的规格去输出一个字符串
1.format()
format()方法接受位置参数和关键字参数,二者都传递给一个叫作replacement字段,这个字段在字符串内由大括号表示
举例:
>>> '{0} love {1}.{2}'.format("I","love","python")
'I love love.python'
{0},{1},{2},那么format()的三个参数就叫做关键字参数
>>> '{a} love {b}.{c}'.format(a="I",b="love",c="python")
'I love love.python'
>>>
a,b,c相当于三个标签,format()将参数中等值的字符串替换进去,这就是关键字参数
另外,关键字参数和位置参数可以一起使用
>>> '{0} love {b}.{c}'.format("I",b="love",c="python") 'I love love.python' >>>
注意的是,若将位置参数和关键字参数一起使用时,位置参数必须在关键字参数之前,否则会出错:
>>> '{a} love {b}.{0}'.format("I",b="love","python") File "<stdin>", line 1 SyntaxError: positional argument follows keyword argument >>> '{a} love {b}.{2}'.format("I",b="love","python") File "<stdin>", line 1 SyntaxError: positional argument follows keyword argument >>>
如果要将大括号打印出的,直接在大括号外面再加大括号(要打印转义符"\",只需要用转义符转移本身就可以)
>>> '{{0}}'.format("不打印") '{0}'
注意位置参数没有被打印,但是这并不会产生错误
>>> "{0}:{1:.2f}".format("圆周率",3.14159) '圆周率:3.14' >>>
在替换域中,冒号表示格式化符号的开始,"2"的意思是四舍五入到保留两位小数点,f的意思是浮点数,所以打印出来的是3.14
2.格式化操作符:%
字符串的%格式化操作符
举例:
>>> '%c' % 97 'a' >>> '%c%c%c%c%c' % (72,82,90,105,80) 'HRZiP' >>>
>>> "%d转换为八进制是: %o" % (123,123) '123转换为八进制是: 173' >>>
>>> '%f科学计数法表示: %e' % (1495000000,1495000000) '1495000000.000000科学计数法表示: 1.495000e+09' >>>
格式化操作符的辅助命令举例:
>>> '%5.1f' % 27.987 ' 28.0' >>> '%.2e' % (27.987) '2.80e+01' >>> '%10d' % 5 ' 5' >>> '%-10d' % 5 '5 ' >>> '%010d' % 5 '0000000005' >>> '%#X' % 1 '0X1' >>> '%#X' % 100 '0X64' >>>
3.python转义符及其含义
作业题:
1.请问以下这行代码会打印什么内容?
"{{1}}".format("不打印", "打印")
结果为‘{1}’,特殊功能被大括号给剥夺,位置参数没有被输出,但是不会报错
2.如果想想显示Pi = 3.14,format前面的字符串要怎么填写?
>>> "{0}:{1:.2f}".format("Pi",3.14159) 'Pi:3.14' >>>