一、基本用法
在Python中,字符串占位符的用法是非常简单的,只需要在字符串中用占位符%s表示待填充内容的位置即可。如果要填充多个内容,则可以使用元组来进行格式化替换,如下所示:
# 用元组进行格式化替换
name = "Tom"
age = 20
print("My name is %s, and I'm %d years old." % (name, age))
上述代码输出的结果为:
My name is Tom, and I'm 20 years old.
在使用%s占位符时,Python会自动将变量转化为字符串,适用性很广。例如,可以使用%s占位符来格式化时间:
import time
current_time = time.strftime("%Y-%m-%d %H:%M:%S")
print("Current time is %s" % current_time)
上述代码输出的结果为:
Current time is 2021-03-13 14:32:30
二、进阶用法
除了使用%s占位符外,Python中还支持很多其他的占位符,可以满足更加丰富的需求。
1. %d占位符
如果需要格式化数字类型的变量,可以使用%d占位符:
age = 20
print("I'm %d years old" % age)
上述代码输出的结果为:
I'm 20 years old.
2. %f占位符
如果需要格式化浮点类型的变量,则需要使用%f占位符。默认情况下,Python会将浮点数格式化为小数点后6位的浮点数:
height = 1.8
print("My height is %.2f meters" % height)
上述代码输出的结果为:
My height is 1.80 meters.
3. %x占位符
%x占位符可以将整数转化为十六进制字符串。
num = 12
print("%x" % num)
上述代码输出的结果为:
c
4. %o占位符
%o占位符可以将整数转化为八进制字符串。
num = 12
print("%o" % num)
上述代码输出的结果为:
14
三、高级用法
在Python中,占位符还可以搭配格式化指令来使用,可以实现更加强大的格式化功能。
1. 宽度指令
宽度指令可以指定占位符的宽度,如果填充内容不足指定的宽度,则会在左侧补足空格。
num = 3
print("Number is %5d" % num)
上述代码输出的结果为:
Number is 3
2. 精度指令
精度指令可以指定占位符的最多位数。当填充内容超过指定的位数时,会自动进行四舍五入。例如:
num = 3.14159
print("Pi is %.2f" % num)
上述代码输出的结果为:
Pi is 3.14
3. 对齐指令
对齐指令可以使得字符串左对齐、右对齐或者中间对齐。
name = "Tom"
print("|%s|" % name)
print("|%-10s|" % name)
print("|%10s|" % name)
上述代码输出的结果为:
|Tom| |Tom | | Tom|
4. 符号指令
符号指令可以指定正负数的填充方式,并且可以使用空格或者+符号来填充正数。
num = 3
print("%+d" % num)
print("% d" % num)
num = -3
print("%+d" % num)
print("% d" % num)
上述代码输出的结果为:
+3 3 -3 -3
四、总结
Python字符串占位符是Python中的一个非常重要的功能,可以方便地格式化输出字符串。通过本文介绍的基本用法、进阶用法和高级用法,我们可以更加熟练地运用Python字符串占位符来格式化输出我们想要的结果。