在寫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