一、格式字符串
格式字符串是一种将变量或表达式嵌入到字符串中并将其替换为实际值的方法。在Python 3.6及以上版本中,可以使用大括号{}和format()方法来创建格式字符串。
# 示例一:格式化字符串
name = '王小明'
age = '26'
print('我的名字是{},年龄是{}岁。'.format(name, age))
# 示例二:格式化数字
number = 3.1415926
print('圆周率是{:.3f}'.format(number))
# 示例三:格式化日期
import datetime
now = datetime.datetime.now()
print('现在是{}年{}月{}日{}时{}分。'.format(now.year, now.month, now.day, now.hour, now.minute))
格式字符串的优势在于它可以很容易地使用不同的数据类型和格式规范,从而使输出更直观。
二、模板字符串
模板字符串是一种在字符串中使用占位符的方法,它可以在运行时进行替换。Python中的模板字符串模块(template)提供了Template类来实现此功能。
# 示例一:模板字符串
from string import Template
name = '王小明'
age = '26'
t = Template('我的名字是$name,年龄是$age岁。')
print(t.substitute(name=name, age=age))
# 示例二:使用默认值
from string import Template
t = Template('我的名字是$name,年龄是$age岁。')
print(t.substitute(name='李小花'))
模板字符串的优势在于它可以防止注入式攻击,因为它会在替换之前转义替换值中的非法字符。
三、f-string
f-string是一种在字符串前加上f或F的方法,它可以使用大括号{}来插入变量或表达式的值。f-string是Python 3.6及以上版本的一个新特性。
# 示例一:f-string
name = '王小明'
age = 26
print(f'我的名字是{name},年龄是{age}岁。')
# 示例二:使用表达式
number = 42
print(f'6x7={6*7}')
print(f'The answer is {number}.')
f-string的优势在于它的简洁性和易读性,因为它允许添加Python代码到{}中。
四、格式化符号
Python中的格式化符号(%)可以使用一个字符串和一组变量来创建格式化输出。这是一种比较现代化的方式,主要适用于Python 2.x。
# 示例一:格式化字符串
name = '王小明'
age = '26'
print('我的名字是%s,年龄是%s岁。' % (name, age))
# 示例二:格式化数字
number = 3.1415926
print('圆周率是%.3f' % number)
# 示例三:格式化日期
import datetime
now = datetime.datetime.now()
print('%d年%d月%d日%d时%d分' % (now.year, now.month, now.day, now.hour, now.minute))
格式化符号的优势是跨平台可移植性和格式字符的灵活性,但是也有一些缺点,比如表达式中使用括号和转义字符。
总结
在Python中,字符串格式化的方法有格式字符串、模板字符串、f-string和格式化符号。每一种方法都有其优劣之处,开发人员可以根据特定的需求选择适合自己的方法。
原创文章,作者:OHUD,如若转载,请注明出处:https://www.506064.com/n/133886.html