【python学习笔记】字符串的格式化

格式化字符串,就是按照统一的规格去输出一个字符串

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'
>>> 

猜你喜欢

转载自blog.csdn.net/Mr_HUMI/article/details/80792694