一、格式字符串
格式字符串是一種將變量或表達式嵌入到字符串中並將其替換為實際值的方法。在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/zh-hk/n/133886.html