在Python中使用f-string(f字串)時,你可以更方便地格式化字串,這是從Python 3.6版本開始引入的新特性。
至從有f-string後,基本上我個人就沒在用.format了。
以下是f-string的基本用法:
它使用在字串前加上 'f' 或 'F' 的前綴,並且在字串中使用大括號 {}
包含變數或表達式
在這個例子中,{name}
和{age}
是表達式,它們會被替換為相應變數的值。
name = "Alice"
age = 30
print(f"我的名字是{name},我今年{age}歲。")
輸出:我的名字是Alice,我今年30歲。
可以在表達式中執行運算。
x = 5
y = 10
print(f"{x}和{y}的和是{x + y}。")
輸出:5和10的和是15
在這裡,:.2f
表示浮點數要顯示兩位小數。
pi = 3.14159
print(f"圓周率的值為:{pi:.2f}")
輸出:圓周率的值為:3.14
person = {"name": "Crab", "age": 18}
print(f"我的名字是{person['name']},我今年{person['age']}歲。")
輸出:我的名字是Crab,我今年18歲。
使用 f-string 中的 {greeting.capitalize()}
時,實際上是在呼叫字符串(string)對象的 capitalize()
方法。
這裡的 greeting
是一個字符串變數,而 .capitalize()
是一個字符串對象的方法。
這個方法的作用是將字符串的第一個字符轉換為大寫,並保持其餘字符為小寫。
greeting
變數包含字符串 "crab"。greeting.capitalize()
將 "crab" 中的 "c" 轉換為大寫,而 "rab" 保持小寫,因此結果是 "crab" 變為 "Crab"。greeting = "crab"
print(f"{greeting.capitalize()} 好帥!")
輸出:Crab好帥!
%
符號,而是使用 :
符號進行格式化。%
符號在 f-string 中對應的 :
符號的應用:控制浮點數的顯示方式,包括小數點位數,.2f
代表小數點後兩位
pi = 3.1415926535
print(f"{pi:.2f}")
輸出:3.14
控制整數的顯示方式。變數age後面加:d
但感覺沒什麼機會用到
age = 25
print(f"Age: {age:d}")
輸出:Age:25
使用 :<
, :>
或 :^
控制數字的對齊方式,使輸出更易讀。
number = 42
print(f"Number: {number:<5}") # 左對齊
print(f"Number: {number:>5}") # 右對齊
print(f"Number: {number:^5}") # 居中對齊
輸出:
Number: 42
Number: 42
Number: 42
使用填充字符,例如 0
,來填充數字。
number = 7
print(f"Number: {number:03}") # 填充為三位數,不足補零
輸出: Number: 007
使大數字更易讀,通常使用逗號 ,
來區分千位。
large_number = 1234567890
print(f"千份位符號表示{large_number:,}")
輸出: 千份位符號表示1,234,567,890
使用 :x
顯示十六進位、:o
顯示八進位等。
number = 255
print(f"顯示十六進位 : {number:x}")
print(f"顯示八進位 : {number:o}")
輸出:
顯示十六進位 : ff
顯示八進位 : 377
根據條件顯示不同格式的整數。
:+
和 :-
是用來顯示正負號的格式選項。
:+
表示顯示正數時帶有正號,負數帶有負號:number = 42
print(f"正數: {number:+}") # 正數帶有正號
輸出:正數: +42
:-
表示顯示正數時不帶正號,負數仍帶有負號:number = -42
print(f"負數: {number:-}") # 正數不帶正號
輸出:負數: -42
整數格式化提供了一種更靈活的方式,使你能夠控制整數在輸出時的外觀,以滿足不同情境的需求。