Python 字符串格式化运算符

Python 字符串格式化运算符

Python最酷的特性之一是字符串格式化运算符%。这个运算符是字符串专有的,并且弥补了缺少C语言printf()函数族的功能。在字符串中,C语言中使用的格式规范符号(%d %c %f %s等)被用作占位符。

以下是一个简单的示例 −

print ("My name is %s and weight is %d kg!" % ('Zara', 21))

它将产生以下 输出

My name is Zara and weight is 21 kg!

这是一个完整的符号列表,可以与%一起使用 –

序号 格式符号和转换方式
1 %c 字符
2 %s 字符串转换(在格式化之前使用str()函数)
3 %i 有符号十进制整数
4 %d 有符号十进制整数
5 %u 无符号十进制整数
6 %o 八进制整数
7 %x 十六进制整数(小写字母)
8 %X 十六进制整数(大写字母)
9 %e 指数表示法(小写字母’e’)
10 %E 指数表示法(大写字母’E’)
11 %f 浮点数
12 %g 较短的%f和%e
13 %G 较短的%f和%E

其他支持的符号和功能在下表中列出−

序号 格式符号 & 转换
1 * 表示宽度或精度的参数
2 - 左对齐
3 + 显示符号
4 <sp> 在正数前留空格
5 # 添加八进制前导零(’0’)或十六进制前导 ‘0x’ 或 ‘0X’,取决于 ‘x’ 或 ‘X’ 的使用情况。
6 0 从左边填充零(而不是空格)
7 % ‘%%’ 会保留一个单独的 ‘%’ 字符
8 (var) 映射变量(字典参数)
9 m.n. m 是最小总宽度,n 是小数点后要显示的位数(如果适用)

在下面的例子中,name是一个字符串,age是一个整数变量。它们的值分别插入到字符串中的%s和%d格式规范符号中。这些符号被梭织成一个元组值,位于%操作符之前。

name="Rajesh"
age=23
print ("my name is %s and my age is %d years" % (name, age))

它将产生以下输出

my name is Rajesh and my age is 23 years

您可以指定整数和浮点数对象的宽度。在格式化字符串中,整数对象a、b和c将占用5个字符的宽度。额外的空格将被填充到左侧。

a=1
b=11
c=111
print ("a=%5d b=%5d c=%5d" % (a, b, c))

它将产生以下 输出

a= 1 b= 11 c= 111

在以下示例中,浮点变量的宽度被指定为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))

它将产生以下输出

my name is Rajesh, age 23 and I have scored 55.500 percent marks

字符串的宽度也可以指定。默认对齐方式为右对齐。要进行左对齐,给宽度加上负号。

name='TutorialsPoint'
print ('Welcome To %20s The largest Tutorials Library' % (name, ))
print ('Welcome To %-20s The largest Tutorials Library' % (name, ))

它将产生以下的 输出

Welcome To       TutorialsPoint The largest Tutorials Library
Welcome To TutorialsPoint       The largest Tutorials Library

在格式中添加“。 ”以截取更长的字符串。

name='TutorialsPoint'
print ('Welcome To %.5s The largest Tutorials Library' % (name, ))

它将产生以下 输出

Welcome To Tutor The largest Tutorials Library

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程