目录
-
format格式化
在Python中,常常使用format()方法来解决字符串的格式化问题。
str.format()
其中,str表示任意一个字符串。在str中,用“{}”与format()方法中的参数进行对应,从而实现对应值的填入和格式化。如下:
“{}+{}={:.3f}”.format(0.1,0.2,0.1+0.2)
//运行结果为:
"0.1+0.2=0.300"
可见,format()方法中的参数与“{}”是对应的。那么具体有哪些对应关系呢?如图1-1所示.
图1-1 format()方法的对应关系
1.按顺序对应
Format()方法括号内的0.1,0.2及0.1+0.2的值分别按照顺序对应到前面三个"{}"中。其中第三个"{}"内的“:.3f”表示“0.1+0.2”以浮点数显示,且小数点后保留三位,于是运行结果为"0.1+0.2=0.300"。
2.按位置序号对应
在“{}"中可以加入数字来对应format()方法中的第几个参数,如下:
"{1} is a {2}".format("lemon","alice","girl","boy")
//运行结果为:
'alice is a girl'
"{0} is a {3}".format("lemon","alice","girl","boy")
//运行结果为:
'lemon is a boy'
-
格式化控制
//在该例子中,“:.3f”就属于格式化控制,即以浮点数显示且小数点后保留三位。
“{}+{}={:.3f}”.format(0.1,0.2,0.1+0.2)
//运行结果为:
"0.1+0.2=0.300"
format()方法格式化控制主要在“{}”中通过格式化控制标记来完成的。语法如下:
{<参数序号>:<格式控制标记>}
其中<参数序号>可以省略(按顺序),也可以是序号,还可以是关键字。格式控制标记用来控制参数显示的格式,规则如下表所示:
: | 填充 | 对齐 | 宽度 | , | .精度 | 类型 |
---|---|---|---|---|---|---|
引导符号 | 用于填充的单个字符 | <>^左右中对齐 | 槽的输出宽度 | 数字千位分隔符 | 浮点数精度和字符串最大输出长度 | b,c,d,o,x,X,e,E,f,% |
其中类型表示:
b:输出二进制整数
c:输出证书对应的Unicode字符
d:输出十进制整数
o:输出八进制整数
x:输出十六进制整数(小写)
X:输出十六进制整数(大写)
E/e:输出浮点数对应的E/e指数形式
f:输出浮点数
%:输出浮点数的百分比
-
print格式化输出
a = 5
b = 8
c = "hello python"
print(a,b,c,sep='+')
//运行结果为:
5+8+hello python
a = 5
b = 8
c = "hello python"
print(a,b,c,sep='+',end='!')
//运行结果为:
5+8+hello python!
1.利用format()方法进行格式化输出如下:
a = 520
b = "hello python"
print("{:^20}{}".format(b,a))
hello python 520
2.利用占位符输出变量值。除format()方法外,在print()函数中也可以利用占位符来进行变量值的输出。如:
a = 20
b = 13
print("%d+%d=%d"%(a,b,a+b))
20+13=33
在print()函数中用引号内的“%d”分别代表引号外“%”后面的变量,其顺序,用法和format()方法中的“{}”相似。%d表示整型占位,即这个位置可以输入一个整型变量的值,print()函数中还有很多占位符,如下图所示: