使用这个百分号操作符号, 具体的格式是这样的:
%[(name)][flags][width].[precision]typecode
以下是类型码:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
%% 字符"%"
举例
>>> print("%6.3f" % 2.3)2.300
>>> print("%+10x" % 10)+a
把 x 作为十六进制的标识符号来看待, 其显示出来的宽度是十个字符的长度, 而在起始位置, 有八个空格被保留在那里。
>>>print("%-5x" % -10)-a
这个负号是用来进行左对齐的, 显示出来的宽度是5位, 因此在负号和字母a的后面上面,还有3个空格存在。
>>>pi=3.1415
>>>print ("pi的值是%s"%pi)
pi的值是3.1415
>>>print ("pi的值是%.8f"%pi)
pi的值是3.14150000
上面的width的值, 是等于两个整数的。我们可以利用乘号操作符来进行动态的代入这两个量值的操作。比如说:
>>> print(".*f" % (4, 1.2))1.2000
以下是补充
简单地说, 这种操作指的是将其他变量安排到字符串的特定位置上, 以便生成一个新的字符串, 例如:
>>> n = "Runoob"
>>> "My name is %s" % n
'My name is Runoob'
这段代码第一步是先定一个名叫 n 的变量, 变量里的内容是空的。然后呢在下边那个字符串里头有个 %s 符号。这个 %s 说大白话就是留个空位子等着被换掉, 等会儿会换成一个新串儿。
到底替换啥内容呢就看它后面那个 % 后面的东西, 也就是刚才那个 n。最后这么一弄, 原本那个字符串就变成了 My name is。
like like 127***