您的位置:

深入探究Python字符串占位符

一、基本用法

在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字符串占位符来格式化输出我们想要的结果。