在日常工作中,我們難免會遇到需要將數據以特定的格式輸出的場景。Python中的字符串格式化提供了一種簡單、快捷的方式,可以讓我們方便地輸出格式化的字符串,從而滿足不同需求。
一、基本字符串格式化
# 使用百分號 % 進行字符串格式化 name = 'Python' version = '3.8' print('Hello, %s %s!' % (name, version)) # 輸出結果:Hello, Python 3.8!
在上面的示例中,我們使用了百分號 % 進行字符串格式化,%s 表示字符串佔位符,%後面的括號中用逗號分隔多個佔位符對應的值。這種方式是 Python2.x 中的方式。
# 使用format()方法進行字符串格式化 name = 'Python' version = '3.8' print('Hello, {} {}!'.format(name, version)) # 輸出結果:Hello, Python 3.8! # 使用位置參數指定佔位符 name = 'Python' version = '3.8' print('Hello, {0} {1}!'.format(name, version)) # 輸出結果:Hello, Python 3.8! # 使用關鍵字參數指定佔位符 name = 'Python' version = '3.8' print('Hello, {name} {version}!'.format(name=name, version=version)) # 輸出結果:Hello, Python 3.8!
在 Python3.x 中,更推薦使用 format() 方法進行字符串格式化。format()方法通過大括號 {} 進行字符串的佔位。format 方法可以按照位置,關鍵字等不同的方式傳遞參數。
二、格式化字符串字面值(f-string)
# 使用格式化字符串字面值輸出變量 name = 'Python' version = '3.8' print(f'Hello, {name} {version}!') # 輸出結果:Hello, Python 3.8!
在 Python 3.6 中,新增了格式化字符串字面值(f-string)的語法。使用 f-string 可以很方便地在字符串中加入變量。只需要在字符串前加上 f 或 F 就可以創建一個 f-string 。
三、使用格式化佔位符
1. 字符串格式化佔位符
# 使用 %s 佔位符格式化字符串 name = 'Monty' print('My name is %s' % name) # 輸出結果:My name is Monty # 使用 %r 佔位符格式化字符串 name = 'Monty' print('My name is %r' % name) # 輸出結果:My name is 'Monty'
在字符串格式化時,除了 %s 外,還可以使用 %r 佔位符。%s 和 %r 都可以表示字符串,區別在於 %s 輸出的是字符串,而 %r 輸出的是字符串的原始代碼。如果想要輸出被雙引號或單引號包裹的字符串,可以使用 %s,如果想要輸出字符串的表達式形式,可以使用 %r。
2. 數字格式化佔位符
# 格式化整型數字 num = 12345 print('Int: %d' % num) # 輸出結果:Int: 12345 # 格式化浮點型數字 pi = 3.1415926 print('PI: %.2f' % pi) # 輸出結果:PI: 3.14
除了字符串,還可以使用數字格式化佔位符。%d 表示整型數字,%f 表示浮點型數字。除了這兩個佔位符之外,還可以使用 %e 表示科學計數法表示的浮點型數字。
3. 寬度、精度與千位分隔符
# 寬度和精度控制 num = 123.456 print('Num: %10.2f' % num) # 輸出結果:Num: 123.46 # 千位分隔符 num = 1234567890 print('Num: {:,}'.format(num)) # 輸出結果:Num: 1,234,567,890
在佔位符中可以使用數字控制輸出格式的寬度和精度,可以在佔位符中添加兩個數字,分別表示寬度和精度。當寬度小於數字的位數時,會按原樣輸出數字。
四、總結
在 Python 中,字符串格式化提供了多種方法,可以滿足不同的輸出需求。從傳統的百分號格式化、format()方法、到新增的 f-string,都為我們提供了便捷的字符串輸出方式。在編寫代碼時,可以根據需要選擇不同的方法,使代碼更加簡潔、易讀。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/275714.html