您好,登錄后才能下訂單哦!
小編給大家分享一下Python實(shí)現(xiàn)變量格式化輸出的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
print() 函數(shù)使用以 % 開(kāi)頭的轉(zhuǎn)換說(shuō)明符對(duì)各種類型的數(shù)據(jù)進(jìn)行格式化輸出。
轉(zhuǎn)換說(shuō)明符(Conversion Specifier)只是一個(gè)占位符(也稱為格式化操作符),它會(huì)被后面表達(dá)式(變量、常量、數(shù)字、字符串、加減乘除等各種形式)的值代替。
轉(zhuǎn)換說(shuō)明符 | 解釋 |
---|---|
%d、%i | 轉(zhuǎn)換為帶符號(hào)的十進(jìn)制整數(shù) |
%o | 轉(zhuǎn)換為帶符號(hào)的八進(jìn)制整數(shù) |
%x、%X | 轉(zhuǎn)換為帶符號(hào)的十六進(jìn)制整數(shù) |
%e | 轉(zhuǎn)化為科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)(e 小寫) |
%E | 轉(zhuǎn)化為科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)(E 大寫) |
%f、%F | 轉(zhuǎn)化為十進(jìn)制浮點(diǎn)數(shù) |
%g | 智能選擇使用 %f 或 %e 格式 |
%G | 智能選擇使用 %F 或 %E 格式 |
%c | 格式化字符及其 ASCII 碼 |
%r | 使用 repr() 函數(shù)將表達(dá)式轉(zhuǎn)換為字符串 |
%s | 使用 str() 函數(shù)將表達(dá)式轉(zhuǎn)換為字符串 |
%% | 輸出% |
在 print() 函數(shù)中,由引號(hào)包圍的是格式化字符串,它相當(dāng)于一個(gè)字符串模板,可以放置一些轉(zhuǎn)換說(shuō)明符(占位符)。
中間的%是一個(gè)分隔符,它前面是格式化字符串,后面是要輸出的表達(dá)式。
當(dāng)然,格式化字符串中也可以包含多個(gè)轉(zhuǎn)換說(shuō)明符,這個(gè)時(shí)候也得提供多個(gè)表達(dá)式,用以替換對(duì)應(yīng)的轉(zhuǎn)換說(shuō)明符,多個(gè)表達(dá)式必須使用小括號(hào)( )包圍起來(lái)。
舉例
name = '小明'
print("我的名字叫 %s,請(qǐng)多多關(guān)照!" % name)
# 我的名字叫 小明,請(qǐng)多多關(guān)照!student_no = 1
print("我的學(xué)號(hào)是 %06d" % student_no)
# 我的學(xué)號(hào)是 000001scale = 0.2
print("數(shù)據(jù)比例是 %.02f%%" % (scale * 100))
# 數(shù)據(jù)比例是 20.00%
指定最小輸出寬度
當(dāng)使用轉(zhuǎn)換說(shuō)明符時(shí),可以使用下面的格式指定最小輸出寬度(至少占用多少個(gè)字符的位置):
%10d 表示輸出的整數(shù)寬度至少為 10
%20s 表示輸出的字符串寬度至少為 20
n = 1234567
print("n(10):%10d." % n)
print("n(5):%5d." % n)
url = "https://www.baidu.com/python/"
print("url(35):%35s." % url)
print("url(20):%20s." % url)
執(zhí)行結(jié)果為:
n(10): 1234567.
n(5):1234567.
url(35): https://www.baidu.com/python/.
url(20):https://www.baidu.com/python/.
從執(zhí)行結(jié)果可以發(fā)現(xiàn),對(duì)于整數(shù)和字符串,當(dāng)數(shù)據(jù)的實(shí)際寬度小于指定寬度時(shí),會(huì)在左側(cè)以空格補(bǔ)齊;當(dāng)數(shù)據(jù)的實(shí)際寬度大于指定寬度時(shí),會(huì)按照數(shù)據(jù)的實(shí)際寬度輸出。
指定對(duì)齊方式
默認(rèn)情況下,print() 輸出的數(shù)據(jù)總是右對(duì)齊的。
當(dāng)數(shù)據(jù)不夠?qū)挄r(shí),數(shù)據(jù)總是靠右邊輸出,而在左邊補(bǔ)充空格以達(dá)到指定的寬度。
Python 允許在最小寬度之前增加一個(gè)標(biāo)志來(lái)改變對(duì)齊方式,Python支持的標(biāo)志如下。
標(biāo)志 | 說(shuō)明 |
---|---|
- | 指定左對(duì)齊 |
+ | 表示輸出的數(shù)字總要帶著符號(hào);整數(shù)帶+,負(fù)數(shù)帶-。 |
0 | 表示寬度不足時(shí)補(bǔ)充 0,而不是補(bǔ)充空格。 |
幾點(diǎn)說(shuō)明:
例子:
n = 123456
# %09d 表示最小寬度為9,左邊補(bǔ)0
print("n(09):%09d" % n)
# %+9d 表示最小寬度為9,帶上符號(hào)
print("n(+9):%+9d" % n)
f = 140.5
# %-+010f 表示最小寬度為10,左對(duì)齊,帶上符號(hào)
print("f(-+0):%-+010f" % f)
s = "Hello"
# %-10s 表示最小寬度為10,左對(duì)齊
print("s(-10):%-10s." % s)
執(zhí)行結(jié)果
n(09):000123456
n(+9): +123456
f(-+0):+140.500000
s(-10):Hello .
指定小數(shù)精度
對(duì)于小數(shù)(浮點(diǎn)數(shù)),print() 還允許指定小數(shù)點(diǎn)后的數(shù)字位數(shù),也即指定小數(shù)的輸出精度。
精度值需要放在最小寬度之后,中間用點(diǎn)號(hào).隔開(kāi);也可以不寫最小寬度,只寫精度。具體格式如下:
%m.nf
%.nf
m 表示最小寬度,n 表示輸出精度,. 是必須存在的。
請(qǐng)看下面的代碼:
f = 3.141592653
# 最小寬度為8,小數(shù)點(diǎn)后保留3位
print("%8.3f" % f)
# 最小寬度為8,小數(shù)點(diǎn)后保留3位,左邊補(bǔ)0
print("%08.3f" % f)
# 最小寬度為8,小數(shù)點(diǎn)后保留3位,左邊補(bǔ)0,帶符號(hào)
print("%+08.3f" % f)
運(yùn)行結(jié)果:
3.142
0003.142
看完了這篇文章,相信你對(duì)Python實(shí)現(xiàn)變量格式化輸出的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。