您的位置:

Python字符串格式化方法

一、什么是字符串格式化

在Python中,字符串格式化是指把一系列值插入到字符串中,这些值可以是数字、字符串或其它的Python对象。字符串格式化通常用于生成输出。

Python提供了多种字符串格式化方法,使用不同的方式可以避免拼接字符串时出现繁琐、错误的问题。接下来介绍常见的字符串格式化方法。

二、百分号格式化

百分号格式化使用百分号(%)作为占位符,并给出一个元组来指出需要插入的元素。我们可以使用字符串的格式操作符%将值转换成一个字符串,并将该值插入列格式化的占位符中。

# 单个变量百分号格式化
name = 'Tom'
age = 18
text = 'My name is %s, I am %d years old.' % (name, age)
print(text)

# 多个变量百分号格式化
name_1 = 'Jack'
age_1 = 22
name_2 = 'Lucy'
age_2 = 20
text_1 = 'My name is %s, I am %d years old. My friend is %s, he is %d years old.' % (name_1, age_1, name_2, age_2)
print(text_1)

三、format格式化

format方法就是将字符串当中的占位符替换成传入的参数进行格式化,常见的占位符有{}和{:}。在{}中可以定义占位符,比如{0}{1}。

# 单个变量format格式化
name = 'Tom'
age = 18
text = 'My name is {}, I am {} years old.'.format(name, age)
print(text)

# 格式化数字
number = 12345.6789
print('This is float:{:.3f}'.format(number))
print('This is int:{:d}'.format(int(number)))

四、f-string格式化

f-string是Python 3.6之后新加的一种字符串格式化方式,它在字符串前面加上前缀"f",并在字符串中通过圆括号{}来包含要自动计算的表达式,十分方便。

# 单个变量f-string格式化
name = 'Tom'
age = 18
text = f'My name is {name}, I am {age} years old.'
print(text)

# 计算表达式f-string格式化
a = 10
b = 20
text_1 = f'The sum of {a} and {b} is {a+b}'
print(text_1)

五、总结

Python提供了多种字符串格式化方法,使用不同的方式可以避免拼接字符串时出现繁琐、错误的问题。在实际编写代码时,我们可以根据需求选用不同的字符串格式化方法。