f-strings 詳解


f-strings 詳解

f-strings字符串格式化 的那一部分已經有所討論。其實當時已經討論得差不多了,今天只是稍微地有一點點補充。主要還是復習。

f-strings 的基本結構是這樣的:

name = '寶元'
age = 18
sex = '男'
msg1 = F'姓名:{name},性別:{age},年齡:{sex}'  # 大寫字母也可以
msg = f'姓名:{name},性別:{age},年齡:{sex}'   # 建議小寫
print(msg)

輸出的結果為:

姓名:寶元,性別:18,年齡:男

f-strings 就是在字符串的引號前面加上一個字母 f。字母大小寫都可以,但是推薦使用小寫。{} 中除了可以使用變量外,還可以放入函數:

def func(a,b):
    return a + b
msg = f"運行結果:{func(1,2)}"
print(msg)

輸出的結果為:

運行結果:3

甚至可以在 {} 中放入 input 函數,讓用戶輸入:

print(f"姓名:{input('請輸入姓名:')} 年齡:{input('請輸入年齡:')} 性別:{input('請輸入性別:')}")

輸出的結果是:

請輸入姓名:alex
請輸入年齡:18
請輸入性別:男
姓名:alex 年齡:18 性別:男

除了字符串,{} 中也可以放入列表和字典:

lst = [1, 2, 32, 34, 45, 5]
msg = f"運行結果:{lst[0:3]}"
print(msg)

dic = {"key": 1, "key1": 22}
msg = f"運行結果:{dic['key1']}"
print(msg)

輸出的結果為:

運行結果:[1, 2, 32]
運行結果:22

f-string 可以寫成多行的形式,但依然打印成一行:

msg = f"窗前明月{'光'}," \
      f"玻璃好上{'霜'}。" \
      f"要不及時{'擦'}," \
      f"一會就得{'臟'}。"
print(msg)

輸出的結果為:

窗前明月光,玻璃好上霜。要不及時擦,一會就得臟。

要想打印多行字符串,還是要使用三對引號:

msg = f"""
窗前明月{'光'},
玻璃好上{'霜'}.
要不及時{'擦'},
一會就得{'臟'}.
"""
print(msg)

通過使用三元運算,配合 f-strings,我們可以進一步節省代碼:

a = 10
b = 20
msg = f"{a if a < b else b}"
print(msg)

同時使用兩個括號表示一個可以打印的大括號:

msg = f"{{'alex': 'wusir'}}"
print(msg)

輸出的結果為:

{'alex': 'wusir'}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM