一、什么是字符串格式化
在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提供了多种字符串格式化方法,使用不同的方式可以避免拼接字符串时出现繁琐、错误的问题。在实际编写代码时,我们可以根据需求选用不同的字符串格式化方法。