Python 最酷的功能之一是字符串格式运算符 %。此运算符对于字符串是唯一的,并且构成了 C 的 printf() 系列中的函数包。C 语言中使用的格式规范符号(%d %c %f %s 等)用作字符串中的占位符。
例子
下面是一个简单的示例 -
print ("My name is %s and weight is %d kg!" % ('Zara', 21))
它将产生以下输出 -
与字符串格式运算符一起使用的符号
以下是可以与 % 一起使用的完整符号集的列表 -
格式符号 | 描述 |
---|---|
%c |
字符 |
%s |
在格式化之前通过 str() 进行字符串转换 |
%i |
有符号十进制整数 |
%d |
有符号十进制整数 |
%u |
无符号十进制整数 |
%o |
八进制整数 |
%x |
十六进制整数(小写字母) |
%X |
十六进制整数(大写字母) |
%e |
指数表示法(小写 'e') |
%E |
指数表示法(大写 'E') |
%f |
浮点实数 |
%g |
%f 和 %e 中的较小者 |
%G |
%f 和 %E 的较短者 |
下表列出了其他支持的符号和功能 -
格式符号 | 描述 |
---|---|
* |
参数指定宽度或精度 |
- |
左对齐 |
+ |
显示标志 |
<sp> |
在正数前留空格 |
# |
添加八进制前导零 ( '0' ) 或十六进制前导 '0x' 或 '0X',具体取决于使用的是 'x' 还是 'X'。 |
0 |
从左到右用零(而不是空格)填充 |
% |
'%%' 会留下一个文本 '%' |
(var) |
映射变量 (字典参数) |
m.n. |
m 是最小总宽度, n 是小数点后要显示的位数(如果 appl)。 |
字符串格式化运算符示例
示例:使用 % 运算符格式化整数和字符串
以下示例中,name 是一个字符串,age 是一个整数变量。它们的值分别插入到字符串中的 %s 和 %d 格式规范符号处。这些符号值到前面的元组中的 % 运算符中的值。
name="Rajesh"
age=23
print ("my name is %s and my age is %d years" % (name, age))
它将产生以下输出 -
示例:使用 % 运算符指定宽度/填充
您可以指定 integer 和 float 对象的宽度。这里整数对象 a、b 和 c 在格式化字符串中将占用 5 个字符的宽度。额外的空格将填充到左侧。
a=1
b=11
c=111
print ("a=%5d b=%5d c=%5d" % (a, b, c))
它将产生以下输出 -
示例:使用 % 运算符的浮点精度处理
在以下示例中,将 float 变量的宽度指定为具有 6 个字符,小数点后有三位数字。
name="Rajesh"
age=23
percent=55.50
print ("my name is %s, age %d and I have scored %6.3f percent marks" % (name, age, percent))
它将产生以下输出 -
示例:使用 % 运算符的字符串填充
还可以指定字符串的宽度。默认对齐方式为 right。对于左对齐方式,请为 width 指定负号。
name='QikepuCom'
print ('Welcome To %20s The largest Qikepu Library' % (name, ))
print ('Welcome To %-20s The largest Qikepu Library' % (name, ))
它将产生以下输出 -
Welcome To QikepuCom The largest Qikepu Library
示例:使用 % 运算符截断长字符串
添加 '.' 更改为格式以截断较长的字符串。
name='QikepuCom'
print ('Welcome To %.5s The largest Qikepu Library' % (name, ))
它将产生以下输出 -