一、Python格式化字符串的基本用法
Python格式化字符串是一種快捷而簡單的處理文本的方法,通過%s、%d等格式化符號,我們可以將變量插入到字符串中,同時也可以控制輸出的格式。下面我們來看看Python格式化字符串的基本用法。
# 定義一個字符串 name = '小明' age = 18 grade = 3.1415926 # 格式化字符串 result = '我的名字是%s,年齡是%d,成績是%f' % (name, age, grade) # 輸出結果 print(result)
輸出結果為:「我的名字是小明,年齡是18,成績是3.141593」。
我們可以看到,Python格式化字符串使用「%」符號作為格式化標記,後面跟着一個或多個格式化說明符。其中%s代表字符串,%d代表整數,%f代表浮點數。
除了%s、%d、%f之外,Python還支持其他的格式化說明符,如下表所示:
%d | 有符號十進制整數 |
%u | 無符號十進制整數 |
%o | 八進制整數 |
%x | 十六進制整數(小寫字母) |
%X | 十六進制整數(大寫字母) |
%e | 科學計數法表示的浮點數(小寫字母e) |
%E | 科學計數法表示的浮點數(大寫字母E) |
%f | 浮點數 |
%g | 根據大小自動選擇%f或%e |
%c | 單個字符 |
%r | 字符串,使用repr()函數將字符串轉換為形如’Hello, World!’的字符串 |
%s | 字符串,使用str()函數將字符串轉換為形如’Hello, World!’的字符串 |
二、使用字典格式化字符串
除了上面介紹的多個變量和多個格式化符號的用法之外,我們還可以使用字典格式化字符串。字典格式化字符串是指將多個變量保存在一個字典中,然後通過字典鍵值對的方式進行格式化。
# 定義一個字典 student = { 'name': '小明', 'age': 18, 'grade': 3.1415926 } # 格式化字符串 result = '我的名字是%(name)s,年齡是%(age)d,成績是%(grade)f' % student # 輸出結果 print(result)
輸出結果為:「我的名字是小明,年齡是18,成績是3.141593」。
我們可以看到,在字典格式化字符串中,使用「%(key)s」代表字符串,使用「%(key)d」代表整數,使用「%(key)f」代表浮點數。其中,key是字典鍵值對中的鍵,將被替換為字典中對應的值。
三、使用format函數格式化字符串
Python還支持使用format函數進行格式化字符串。format函數不僅僅可以對一個變量進行格式化,還可以對多個變量進行格式化,並且支持對字符串的左對齊、右對齊和居中等操作。
# 定義變量 name = '小明' age = 18 grade = 3.1415926 # 格式化字符串 result = '我的名字是{},年齡是{},成績是{:f}'.format(name, age, grade) # 輸出結果 print(result)
輸出結果為:「我的名字是小明,年齡是18,成績是3.141593」。
我們可以看到,使用format函數進行格式化字符串的方法更加簡單,不需要像格式化字符串那樣指定格式化符號。同時,我們還可以使用「{:10s}」這樣的格式化字符,代表字符串的長度為10,可以右對齊輸出。
四、使用f-string格式化字符串
Python 3.6以後支持使用f-string進行格式化字符串。f-string簡單易懂,代碼簡潔,是Python格式化字符串的最佳選擇。
# 定義變量 name = '小明' age = 18 grade = 3.1415926 # 格式化字符串 result = f'我的名字是{name},年齡是{age},成績是{grade:f}' # 輸出結果 print(result)
輸出結果為:「我的名字是小明,年齡是18,成績是3.141593」。
我們可以看到,在f-string中,使用「{}」代表變量,可以使用「{:f}」等格式化說明符。
五、Python格式化字符串的注意事項
在使用Python格式化字符串時,需要注意以下幾點:
1、格式化字符串與轉義字符的使用非常類似,要特別注意格式化字符串中的「%」符號不能隨便使用,否則可能會導致錯誤。
2、格式化字符串不能與f-string等其他格式化字符串混用,否則可能會導致語法錯誤。
3、在使用f-string的時候,要注意使用Python 3.6及以上版本,否則會提示語法錯誤。
六、小結
Python格式化字符串是一種簡單而實用的處理字符串的方法,可以幫助我們在代碼中更方便地輸出信息。在實際使用中,我們需要根據不同的情況靈活運用不同的格式化字符串方法,以便更好地管理和展示數據。
原創文章,作者:OCMT,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/148418.html