Python字符串格式化函数详解
Python字符串格式化函数是用来将变量插入到字符串中的一种方式。它允许我们根据要求来格式化字符串,例如改变字符串的对齐方式、指定数字的位数、将数字转换成不同的进制等等。
在Python中,字符串格式化有两种方式:旧式字符串格式化和新式字符串格式化。
旧式字符串格式化使用%操作符来进行字符串插值。它的语法如下:
string % values
其中,string是带有占位符的字符串,values是待插入的值或变量。
在字符串中,占位符用一个百分号%加上一个字符来表示。常用的占位符有:
- %s: 字符串
- %d: 十进制整数
- %f: 浮点数
- %x: 十六进制整数
下面是一个使用旧式字符串格式化的例子:
name = "John"
age = 28
print("My name is %s and I am %d years old." % (name, age))
输出结果为:My name is John and I am 28 years old.
在上面的例子中,字符串"My name is %s and I am %d years old."中的%s和%d都是占位符,分别插入了name和age的值。
除了占位符,还可以使用修饰符来改变输出格式。一些常用的修饰符有:
- %10s: 字符串占位符,宽度为10,右对齐
- %-10s: 字符串占位符,宽度为10,左对齐
- %5d: 整数占位符,宽度为5,右对齐,不足则用空格补齐
- %.2f: 浮点数占位符,保留小数点后两位
下面是一个使用修饰符的例子:
name = "John"
age = 28
print("My name is %-10s and I am %5d years old." % (name, age))
输出结果为:My name is John and I am 28 years old.
在上面的例子中,使用了修饰符%-10s来保证name占位符的宽度为10,左对齐,并用空格补齐不足的部分,同时使用了修饰符%5d来保证age占位符的宽度为5,右对齐,并用空格补齐不足的部分。
新式字符串格式化使用{}作为占位符。它的语法如下:
string.format(values)
其中,string是带有占位符的字符串,values是待插入的值或变量。
下面是一个使用新式字符串格式化的例子:
name = "John"
age = 28
print("My name is {} and I am {} years old.".format(name, age))
输出结果为:My name is John and I am 28 years old.
在新式字符串格式化中,使用{}作为占位符,可以根据需要在其中添加序号来指定插入的值的位置。默认情况下,插入的顺序与传入的values的顺序保持一致,但也可以通过指定位置来改变插入的顺序。
下面是一个使用指定位置的例子:
name = "John"
age = 28
print("My name is {1} and I am {0} years old.".format(age, name))
输出结果为:My name is John and I am 28 years old.
在上面的例子中,通过{1}和{0}来指定插入name和age的位置。
除了使用位置,还可以使用关键字参数来指定插入的值的位置,这样可以更加清晰地表达变量的含义。
下面是一个使用关键字参数的例子:
name = "John"
age = 28
print("My name is {name} and I am {age} years old.".format(name=name, age=age))
输出结果为:My name is John and I am 28 years old.
在上面的例子中,通过{name}和{age}来指定插入name和age的位置,并通过关键字参数来指定name和age的值。
总结:Python字符串格式化函数是一种将变量插入到字符串中的方式,旧式字符串格式化使用%操作符,新式字符串格式化使用{}占位符。旧式字符串格式化可以使用修饰符来改变输出格式,新式字符串格式化可以使用位置和关键字参数来指定插入的值的位置。通过掌握和灵活使用字符串格式化函数,可以方便地处理字符串的输出需求。
