Python 关于字符串格式化

时间:2024-06-02 09:49:01

在Python中,字符串格式化有以下几种方法:

1.可以使用字符串的str.center(width), str.ljust(width), 和 str.rjust(width)方法来实现字符串的居中、左对齐和右对齐操作。

  1. 居中对齐:

    text = "Python"
    centered_text = text.center(10)  # 在宽度为10的空间中居中对齐
    print(centered_text)  # 输出结果为 "  Python  "
    
  2. 左对齐:

    text = "Python"
    left_aligned_text = text.ljust(10)  # 在宽度为10的空间中左对齐
    print(left_aligned_text)  # 输出结果为 "Python    "
    
  3. 右对齐:

    text = "Python"
    right_aligned_text = text.rjust(10)  # 在宽度为10的空间中右对齐
    print(right_aligned_text)  # 输出结果为 "    Python"
    

2.使用百分号(%)进行格式化:

name = "Alice"
age = 30
formatted_string = "Name: %s, Age: %d" % (name, age)
print(formatted_string)

3.使用str.format()方法进行格式化:

name = "Bob"
age = 25
formatted_string = "Name: {}, Age: {}".format(name, age)
print(formatted_string)

4.使用模板字符串Template:

from string import Template
name = "David"
age = 40
template = Template("Name: $name, Age: $age")
formatted_string = template.substitute(name=name, age=age)
print(formatted_string)

5.使用f-strings(在Python 3.6及更高版本中可用):

name = "Charlie"
age = 35
formatted_string = f"Name: {name}, Age: {age}"
print(formatted_string)

如果需要进一步控制格式化语法中变量的形式,可以参照下面表格来进行字符串格式化操作:

请添加图片描述

如:

name = "Alice"
age = 30
height = 1.652

# 控制小数点后的位数
print("Height: %.2f" % height)  # 输出结果为 "Height: 1.65"

# 控制字符串的长度
print("Name: %10s" % name)  # 输出结果为 "Name:      Alice"
print("Name: %-10s" % name)  # 输出结果为 "Name: Alice     "

# 使用 f-string 格式化字符串
formatted_string = f"Name: {name}, Age: {age}, Height: {height:.2f}"
print(formatted_string)
# 输出结果为“ Name: Alice, Age: 30, Height: 1.65”