一、格式化字符串
格式化字符串是Python中f字符串的最基本的用法。格式化字符串可以讓我們通過佔位符在字符串中插入變量或表達式,讓字符串根據變量或表達式的值動態生成。
實現方法為,在字符串前面加上字母f,然後通過{}括號來包含需要插入的變量或表達式。
# 示例代碼1 name = "Alice" age = 25 greeting = f"Hi, my name is {name}, and I am {age} years old." print(greeting) # Output: Hi, my name is Alice, and I am 25 years old.
注意:佔位符中可以使用簡單的表達式,比如字符串的替換、數值的加減等。例如:
# 示例代碼2 x = 2 y = 3 result = f"{x} + {y} = {x+y}" print(result) # Output: 2 + 3 = 5
示例代碼1和2演示了f字符串的最基本用法。在實際的開發中,可以根據具體的需求,靈活運用佔位符。
二、對齊方式
在格式化字符串時,我們可以使用佔位符來控制輸出的對齊方式,包括左對齊、右對齊和居中對齊。
在佔位符中,使用冒號(:)來說明對齊方式。冒號後面可以指定輸出的寬度(即佔用的字符數),如果不指定,則默認為變量或表達式的實際長度。
# 示例代碼3 name = "Alice" age = 25 # 居中對齊 greeting1 = f"{'Hi, my name is '+name:^20}, and I am {age} years old." print(greeting1) # 左對齊 greeting2 = f"{'Hi, my name is '+name:20}, and I am {age} years old." print(greeting3)
示例代碼3演示了左對齊、右對齊和居中對齊的方法。通過冒號和大於、小於、脫字符號來指定對齊方式。^表示居中對齊,表示右對齊。其中的數字20表示佔用的字符數,如果字符串或表達式長度不足20,則會在兩側填充空格。
三、數值格式化
在實際開發中,我們通常需要對數值進行格式化,比如保留小數點後幾位、千位分隔符等操作。在Python的f字符串中,我們可以使用類似於C語言的Printf函數的格式化方式。
在佔位符中,使用冒號(:)來指定格式化方式。例如,我們可以使用%.2f來保留小數點後兩位。
# 示例代碼4 x = 123456.789 # 保留兩位小數 result1 = f"{x:.2f}" print(result1) # 使用千位分隔符 result2 = f"{x:,.2f}" print(result2) # 科學計數法 result3 = f"{x:e}" print(result3) # 百分號形式 result4 = f"{x:.2%}" print(result4)
示例代碼4演示了四種常見的數值格式化方式:保留小數點後兩位、使用千位分隔符、科學計數法和百分號形式。具體的格式說明可以參考Python官方文檔。
四、屬性訪問
在Python中,我們可以使用.來訪問對象的屬性,比如字符串的長度、列表中的某個元素等。在f字符串中,我們可以使用.來直接訪問變量或表達式的屬性。
# 示例代碼5 person = { "name": "Alice", "age": 25 } result1 = f"My name is {person['name']} and I am {person['age']} years old." print(result1) result2 = f"My name is {person['name'].upper()} and I am {person['age']} years old." print(result2)
示例代碼5演示了如何使用.訪問對象的屬性。第一個佔位符中直接訪問了字典中的鍵值,第二個佔位符中使用了.upper()方法將字符串轉換為大寫。
五、嵌套使用
在實際開發中,我們可能需要將多個變量或表達式嵌套到一個f字符串中,此時可以使用{}嵌套來實現。
# 示例代碼6 name = "Alice" age = 25 job = "Engineer" greeting1 = f"My name is {name}, and I am {age} years old. I work as a {job}." print(greeting1) greeting2 = f"My name is {name}, and I am {age} years old. My job is {job.upper()}." print(greeting2) greeting3 = f"My name is {name}, and I am {age} years old. My job is {' '.join([word.capitalize() for word in job.split()])}." print(greeting3)
示例代碼6演示了如何嵌套使用f字符串。第一個佔位符中直接使用兩個變量;第二個佔位符中使用了.upper()方法來轉換job字符串的大小寫;第三個佔位符中使用了列表推導式和.join()方法來將job字符串中的每個單詞的首字母變為大寫。
總結
Python中f字符串在字符串格式化方面提供了非常便利和靈活的方式。通過本文的闡述,相信讀者已經能夠掌握f字符串的基本用法、對齊方式、數值格式化、屬性訪問和嵌套使用。在實際開發中,可以根據具體的需求靈活運用。
原創文章,作者:ZYSEZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/371181.html