Python實(shí)現(xiàn)變量格式化輸出的方法-創(chuàng)新互聯(lián)

小編給大家分享一下Python實(shí)現(xiàn)變量格式化輸出的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的龍湖網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

print() 函數(shù)使用以 % 開頭的轉(zhuǎn)換說明符對各種類型的數(shù)據(jù)進(jìn)行格式化輸出。

轉(zhuǎn)換說明符(Conversion Specifier)只是一個占位符(也稱為格式化操作符),它會被后面表達(dá)式(變量、常量、數(shù)字、字符串、加減乘除等各種形式)的值代替。

轉(zhuǎn)換說明符解釋
%d、%i轉(zhuǎn)換為帶符號的十進(jìn)制整數(shù)
%o轉(zhuǎn)換為帶符號的八進(jìn)制整數(shù)
%x、%X轉(zhuǎn)換為帶符號的十六進(jìn)制整數(shù)
%e轉(zhuǎn)化為科學(xué)計數(shù)法表示的浮點(diǎn)數(shù)(e 小寫)
%E轉(zhuǎn)化為科學(xué)計數(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ù)中,由引號包圍的是格式化字符串,它相當(dāng)于一個字符串模板,可以放置一些轉(zhuǎn)換說明符(占位符)。

中間的%是一個分隔符,它前面是格式化字符串,后面是要輸出的表達(dá)式。

當(dāng)然,格式化字符串中也可以包含多個轉(zhuǎn)換說明符,這個時候也得提供多個表達(dá)式,用以替換對應(yīng)的轉(zhuǎn)換說明符,多個表達(dá)式必須使用小括號( )包圍起來。

舉例

name = '小明'
print("我的名字叫 %s,請多多關(guān)照!" % name)
# 我的名字叫 小明,請多多關(guān)照!

student_no = 1
print("我的學(xué)號是 %06d" % student_no)
# 我的學(xué)號是 000001

scale = 0.2
print("數(shù)據(jù)比例是 %.02f%%" % (scale * 100))
# 數(shù)據(jù)比例是 20.00%
指定最小輸出寬度

當(dāng)使用轉(zhuǎn)換說明符時,可以使用下面的格式指定最小輸出寬度(至少占用多少個字符的位置):

%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),對于整數(shù)和字符串,當(dāng)數(shù)據(jù)的實(shí)際寬度小于指定寬度時,會在左側(cè)以空格補(bǔ)齊;當(dāng)數(shù)據(jù)的實(shí)際寬度大于指定寬度時,會按照數(shù)據(jù)的實(shí)際寬度輸出。

指定對齊方式

默認(rèn)情況下,print() 輸出的數(shù)據(jù)總是右對齊的。

當(dāng)數(shù)據(jù)不夠?qū)挄r,數(shù)據(jù)總是靠右邊輸出,而在左邊補(bǔ)充空格以達(dá)到指定的寬度。

Python 允許在最小寬度之前增加一個標(biāo)志來改變對齊方式,Python支持的標(biāo)志如下。

標(biāo)志說明
-指定左對齊
+表示輸出的數(shù)字總要帶著符號;整數(shù)帶+,負(fù)數(shù)帶-。
0表示寬度不足時補(bǔ)充 0,而不是補(bǔ)充空格。

幾點(diǎn)說明:

  • 對于整數(shù),指定左對齊時,在右邊補(bǔ)0是沒有效果的,因?yàn)檫@樣會改變整數(shù)的值。
  • 對于小數(shù),以上三個標(biāo)志可以同時存在。
  • 對于字符串,只能使用-標(biāo)志,因?yàn)榉枌τ谧址疀]有意義,而補(bǔ) 0 會改變字符串的值。
     

例子:

n = 123456
# %09d 表示最小寬度為9,左邊補(bǔ)0
print("n(09):%09d" % n)
# %+9d 表示最小寬度為9,帶上符號
print("n(+9):%+9d" % n)
f = 140.5
# %-+010f 表示最小寬度為10,左對齊,帶上符號
print("f(-+0):%-+010f" % f)
s = "Hello"
# %-10s 表示最小寬度為10,左對齊
print("s(-10):%-10s." % s)

執(zhí)行結(jié)果

n(09):000123456
n(+9): +123456
f(-+0):+140.500000
s(-10):Hello .

指定小數(shù)精度

對于小數(shù)(浮點(diǎn)數(shù)),print() 還允許指定小數(shù)點(diǎn)后的數(shù)字位數(shù),也即指定小數(shù)的輸出精度。

精度值需要放在最小寬度之后,中間用點(diǎn)號.隔開;也可以不寫最小寬度,只寫精度。具體格式如下:

%m.nf
%.nf

m 表示最小寬度,n 表示輸出精度,. 是必須存在的。

請看下面的代碼:

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,帶符號
print("%+08.3f" % f)

運(yùn)行結(jié)果:

3.142
0003.142

看完了這篇文章,相信你對Python實(shí)現(xiàn)變量格式化輸出的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

分享名稱:Python實(shí)現(xiàn)變量格式化輸出的方法-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article18/csjjdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、電子商務(wù)App設(shè)計、Google、外貿(mào)建站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)