?????
目錄
舊式的?%?運算符(不推薦)
str.format()?方法
位置和關(guān)鍵字參數(shù):
格式化數(shù)字:
f-string
表達(dá)式和函數(shù)調(diào)用:
格式化數(shù)字:
格式規(guī)范的微調(diào)?(核心)
對齊字符串
填充字符
數(shù)字的零填充
數(shù)字的千位分隔符
格式化十六進(jìn)制、八進(jìn)制和二進(jìn)制
????????在編程語言中,格式化輸出是一個非常重要的功能,它允許程序員以可讀和美觀的方式展示信息。Python 提供了多種方法來格式化字符串,控制數(shù)據(jù)的顯示方式。Python 中的格式化輸出,主要包括舊式的 %
格式化、str.format()
方法和 f-string。
舊式的?%?運算符(不推薦)
%
運算符是 Python 早期版本的字符串格式化方法。它使用類似于 C 語言中 printf()
的語法。
name = "John"
age = 30
print("Hello, %s. You are %d years old." % (name, age))
# 輸出:Hello, John. You are 30 years old.
str.format()?方法
????????隨著 Python 2.6 的發(fā)布,str.format()
方法被引入,它提供了一種更強大和靈活的字符串格式化方式。
name = "John"
age = 30
print("Hello, {}. You are {} years old.".format(name, age)
???str.format()
方法可以指定占位符 {}
,而不用關(guān)心數(shù)據(jù)類型。你還可以通過位置或關(guān)鍵字參數(shù)來引用特定的值。
位置和關(guān)鍵字參數(shù):
print("Hello, {0}. You are {1} years old.".format(name, age)) # 位置參數(shù)
print("Hello, {name}. You are {age} years old.".format(name="Alice", age=24)) # 關(guān)鍵字參數(shù)
格式化數(shù)字:
pi = 3.14159
print("Pi is approximately {0:.2f}".format(pi)) # 保留兩位小數(shù)
f-string
????????在 Python 3.6 中,引入了一種新的字符串格式化方法,稱為 f-string(格式化字符串字面量)。f-string 提供了一種更簡潔和易讀的方式來格式化字符串。
name = "John"
age = 30
print(f"Hello, {name}. You are {age} years old.")
表達(dá)式和函數(shù)調(diào)用:
print(f"Twenty times two is {20 * 2}")
# 輸出:Twenty times two is 40
格式化數(shù)字:
pi = 3.14159
print(f"Pi is approximately {pi:.2f}")
格式規(guī)范的微調(diào)?(核心)
對齊字符串
????????字符串在輸出時可以進(jìn)行左對齊、右對齊和居中對齊。使用 str.format()
方法或 f-string,可以通過在冒號 :
之后添加對齊符號 <
、>
或 ^
來實現(xiàn)。
代碼示例:文章來源:http://www.zghlxwxcb.cn/news/detail-798148.html
# 左對齊
print(f"|{'left':<10}|") # 寬度為 10 的字段中左對齊
print("|{:<10}|".format("left"))
# 右對齊
print(f"|{'right':>10}|") # 寬度為 10 的字段中右對齊
print("|{:>10}|".format("right"))
# 居中對齊
print(f"|{'center':^10}|") # 寬度為 10 的字段中居中對齊
print("|{:^10}|".format("center"))
輸出結(jié)果:
|left |
|left |
| right|
| right|
| center |
| center |
填充字符
????????在對齊時,可以指定一個字符來填充對齊后剩余的空間。填充字符被放置在對齊字符 <
、>
或 ^
的前面。
代碼示例:
# 使用星號 (*) 填充字符
print(f"|{'left':*<10}|") # 使用 * 填充左對齊的剩余空間
print("|{:*<10}|".format("left"))
print(f"|{'right':*>10}|") # 使用 * 填充右對齊的剩余空間
print("|{:*>10}|".format("right"))
print(f"|{'center':*^10}|") # 使用 * 填充居中對齊的剩余空間
print("|{:*^10}|".format("center"))
輸出結(jié)果:
|left******|
|left******|
|*****right|
|*****right|
|**center**|
|**center**|
數(shù)字的零填充
????????對于數(shù)字類型,零填充(0-padding)常用于保持?jǐn)?shù)字的固定顯示寬度。在指定寬度前添加 0
可以進(jìn)行零填充。
代碼示例:
# 數(shù)字的零填充
number = 42
print(f"|{number:0>10}|") # 寬度為 10,右對齊,使用 0 填充
print("|{:0>10}|".format(number))
# 使用格式化浮點數(shù),保留兩位小數(shù),并進(jìn)行零填充
float_number = 3.14159
print(f"|{float_number:0>10.2f}|") # 寬度為 10,保留兩位小數(shù),右對齊,使用 0 填充
print("|{:0>10.2f}|".format(float_number))
輸出結(jié)果:
|0000000042|
|0000000042|
|00000003.14|
|00000003.14|
數(shù)字的千位分隔符
????????為了提高大數(shù)字的可讀性,可以在數(shù)字中添加千位分隔符。
代碼示例:
# 數(shù)字的千位分隔符
number = 1234567890
print(f"{number:,}") # 使用逗號作為千位分隔符
print("{:,}".format(number))
輸出結(jié)果:
1,234,567,890
1,234,567,890
格式化十六進(jìn)制、八進(jìn)制和二進(jìn)制
????????數(shù)字可以被格式化為十六進(jìn)制、八進(jìn)制或二進(jìn)制表示。
代碼示例:
# 十六進(jìn)制
number = 255
print(f"{number:#x}") # 輸出: 0xff
print("{:#x}".format(number))
# 八進(jìn)制
print(f"{number:#o}") # 輸出: 0o377
print("{:#o}".format(number))
# 二進(jìn)制
print(f"{number:#b}") # 輸出: 0b11111111
print("{:#b}".format(number))
輸出結(jié)果:文章來源地址http://www.zghlxwxcb.cn/news/detail-798148.html
0xff
0xff
0o377
0o377
0b11111111
0b11111111
到了這里,關(guān)于Python 格式化輸出:精確控制你的數(shù)據(jù)表示的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!