在寫Python代碼時,常常需要生成字元串。對於簡單的情況,可以直接用+號拼接字元串,但是對於長字元串、格式化字元串等複雜情況,使用format函數則可更加方便快捷地生成字元串。
一、格式化字元串的基本用法
format函數是Python內置的字元串格式化方法,通過將格式化模板和需要填充的值作為參數傳入,可以生成格式化後的字元串。
# 示例1:使用format函數生成簡單字元串
name = '張三'
age = 25
print('我叫{},今年{}歲。'.format(name, age))
# 輸出:我叫張三,今年25歲。
在格式化模板中,大括弧{}表示需要被填充的值的位置,可以使用數字、變數名或者字典鍵名等來指定填充的值。
# 示例2:指定填充值的位置
print('{1} is {0} years old.'.format(25, '張三'))
# 輸出:張三 is 25 years old.
# 示例3:使用變數名來指定填充值
print('我叫{name},今年{age}歲。'.format(name='李四', age=30))
# 輸出:我叫李四,今年30歲。
# 示例4:使用字典來指定填充值
person = {'name': '王五', 'age': 20}
print('我叫{name},今年{age}歲。'.format(**person))
# 輸出:我叫王五,今年20歲。
從示例中可以看出,在使用format函數時,填充值的位置從0開始計數,而且可以重複使用同一個值,並且還可以使用變數名和字典鍵名來指定填充的值。
二、格式化字元串的進階用法
除了基本的格式化外,format函數還支持對填充值進行格式化處理,比如指定浮點數保留小數位數、進行數值對齊等。
# 示例5:指定浮點數保留小數位數
pi = 3.1415926
print('π的值是{:.2f}'.format(pi))
# 輸出:π的值是3.14
# 示例6:指定數值對齊方式
print('{:10} is right aligned'.format('world'))
# 輸出: world is right aligned
print('{:^10} is center aligned'.format('python'))
# 輸出: python is center aligned
在示例5中,”.2f”表示將浮點數保留兩位小數。在示例6中,””, “^”分別表示左對齊、右對齊、居中對齊,後面的數字表示總寬度。如果填充值過短,則會使用空格或者指定的填充字元進行補齊。
三、格式化字元串的高級用法
除了基本的格式化和進階的格式化,format函數還支持更加靈活的格式化方法,比如使用下標、使用屬性和方法等。
# 示例7:使用下標
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
p = Point(3, 4)
print('坐標是({0.x}, {0.y})'.format(p))
# 輸出:坐標是(3, 4)
# 示例8:使用屬性和方法
person = {'name': '王五', 'age': 20, 'job': 'coder'}
print('{p.name},{p.job},今年{p.age}歲。'.format(p=person))
# 輸出:王五,coder,今年20歲。
# 示例9:使用index和key
people = ['張三', '李四', '王五']
print('第二個人是{0[1]}'.format(people))
# 輸出:第二個人是李四
info = {'name': '張三', 'age': 25}
print('{0[name]},今年{0[age]}歲。'.format(info))
# 輸出:張三,今年25歲。
在示例7中,使用點”.”和下標來訪問Point對象的屬性。在示例8中,使用”.”和變數名來訪問字典對象的鍵值。在示例9中,使用下標和key來訪問列表和字典對象中的元素。
四、結尾
綜上所述,format函數是Python內置的字元串格式化方法,通過將格式化模板和需要填充的值作為參數傳入,可以生成格式化後的字元串。除了基本的格式化外,format函數還支持對填充值進行格式化處理,比如指定浮點數保留小數位數、進行數值對齊等。而且,格式化字元串的高級用法使得我們可以更加靈活地使用format函數來生成字元串。因此,在Python開發中,我們應該儘可能地使用format來優化字元串輸入。
原創文章,作者:CWSM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/136805.html
微信掃一掃
支付寶掃一掃